编辑人员注释:本文章由 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 在云中运行应用程序,且通过按分钟计费选项仅需支付您所使用的部分(包括企业版!)。赶快来试用一下,并把您的体验告诉我们!
本文翻译自: