在 Windows Azure 虚拟机中使用 Microsoft SQL Server 安全功能
编辑人员注释:本文章由 SQL Server 团队高级项目经理 Sung Hsueh 撰写。
SQL Server 的最新用法之一是利用 Microsoft 的 Windows Azure 基础结构服务,创建托管 SQL Server 的 Windows Azure 虚拟机。您可能阅读过 Il-Sung 以前关于可以将此环境用于具有合规性要求的应用的博客文章 (http://blogs.msdn.com/b/windowsazure/archive/2012/12/12/regulatory-compliance-considerations-for-sql-server-running-in-windows-azure-virtual-machine.aspx)。在
Windows Azure 虚拟机中推出 SQL Server 2008 R2 企业版和 SQL Server 2012 企业版之后,您现在可以选择将我们的企业级功能(如 SQL Server 审核与透明数据加密)用于按分钟计费且已预先配置好、可随时部署的 Windows Azure 虚拟机!当然,如果您喜欢,您仍然可以选择通过移动式许可证 (http://www.microsoft.com/licensing/software-assurance/license-mobility.aspx)
来利用这些功能,以便继续使用现有的软件保障或企业协议许可证, 而不是按分钟计费。
在 Windows Azure 虚拟机中将 TDE 与 SQL Server 结合使用
下面我们快速演练一下透明数据加密 (http://msdn.microsoft.com/en-us/library/bb934049.aspx),来了解如何配置它。首先,请通过
Windows Azure 管理门户创建一个已安装 SQL Server 的 Windows Azure 虚拟机:
现在开始创建数据库!
如果要对某个数据库添加加密,接下来的几个步骤将与在本地运行 SQL Server 的步骤相同:
1. 使用可以在Master数据库中创建对象的用户的凭据登录到计算机
2. 在Master 数据库中运行以下 DDL (“USE MASTER”):
CREATE MASTERKEY ENCRYPTION BY PASSWORD = ‘<您的密码>’;
Go
CREATECERTIFICATE TDEServerCert WITH SUBJECT = ‘My TDE certificate’;
Go
3. 切换到要进行加密的数据库
4. 运行以下 DDL:
CREATE DATABASE ENCRYPTION KEY WITHALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE TDEServerCert;
Go
ALTER DATABASE [您的数据库名称] SET ENCRYPTION ON;
Go
大功告成!加密将在后台运行(您可以通过查询 sys.dm_database_encryption_keys 进行检查)。这与您的内部部署 SQL Server 实例完全相同,毫无差异。同样,您还可以像在本地部署中一样,继续使用 SQL Server 审核 (http://msdn.microsoft.com/zh-cn/library/cc280386.aspx)。
其他安全注意事项
以下是需要牢记的一些其他事项,请务必遵循最佳安全做法 (http://msdn.microsoft.com/library/windowsazure/dn133147.aspx)。需要考虑的事项包括:
· 通过禁用不必要的服务减少外围应用
· 利用基于策略的管理功能检测安全状况(如使用弱算法)
· 尽可能使用最低权限,尽可能避免使用内置帐户或组(如 sa 或 sysadmin),考虑使用 SQL Server 审核来跟踪管理操作
· 如果您计划使用加密功能,请考虑创建密钥老化/旋转策略,从服务主密钥开始
· 考虑使用 SSL 加密,尤其是当通过 Windows Azure 中的公共端点连接到 SQL Server 时
· 考虑将用于默认实例的 SQL Server 端口 1433 更改为其他端口,尤其是当通过 Windows Azure 中的公共端点连接到 SQL Server 时(最好避免完全通过公共 Internet 对 SQL Server 实例进行外部连接)
结束语…
通过在 Windows Azure 虚拟机中运行 SQL Server 企业版,可以让您延续现有应用中的最佳安全做法和专业知识,利用 Microsoft 的 Windows Azure 在云中运行应用程序,且通过按分钟计费选项仅需支付您所使用的部分(包括企业版!)。赶快来试用一下,并把您的体验告诉我们!
本文翻译自:
最新文章
- Java集合类的总结
- 在shell下,用命令将U盘挂载到ubuntu上,并将文件copy到U盘里面
- Web持久化存储Web SQL、Local Storage、Cookies(常用)
- 面试题整理:SQL(二)
- HRBUST 1326 循环找父节点神术
- try-catch语句讲解
- java小程序:求完全数
- plsql developer的一些使用
- 布局(layout)文件图形界面不能显示:An error has occurred. See error log for more details. java.lang.NullPointe
- Character Encoding tomcat.
- COJ 0018 移动盒子
- include .h 以及.cpp的记录
- 字节、十六进制字符串相互转换(asc2hex、hex2asc)
- Spring Boot+Spring Security+JWT 实现 RESTful Api 权限控制
- 搭建Google镜像网站
- K8s-Pod
- Visual Assist 10.9.2248 破解版(支持VS2017)
- Kafka参数配置详解
- 【bzoj3796】Mushroom追妹纸 Kmp+二分+Hash
- jQuery 时间戳转化成时间