在 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 MASTER
KEY ENCRYPTION BY PASSWORD = ‘<您的密码>’;

Go

CREATE
CERTIFICATE TDEServerCert WITH SUBJECT = ‘My TDE certificate’;

Go

3. 切换到要进行加密的数据库

4. 运行以下 DDL:

CREATE DATABASE ENCRYPTION KEY WITH
ALGORITHM = 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 在云中运行应用程序,且通过按分钟计费选项仅需支付您所使用的部分(包括企业版!)。赶快来试用一下,并把您的体验告诉我们!

 

本文翻译自:

http://blogs.msdn.com/b/windowsazure/archive/2013/08/01/using-microsoft-sql-server-security-features-in-windows-azure-virtual-machines.aspx

Comments (0)

Skip to main content