你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
SQL Server 提供多种加密功能,例如 透明数据加密(TDE)、 列级加密(CLE)和 备份加密。 这些加密方法要求管理和存储用于加密的加密密钥。 Azure Key Vault 服务通过将密钥存储在安全且高度可用的位置,从而提高了这些密钥的安全性和管理。 SQL Server 连接器使 SQL Server 能够从 Azure Key Vault 和 Azure Key Vault 托管硬件安全模块 (HSM) 使用这些密钥。
如果在本地运行 SQL Server,请遵循 从本地 SQL Server 实例访问 Azure Key Vault 的步骤。 这些步骤同样适用于 Azure 虚拟机上的 SQL Server,不过可以使用 Azure Key Vault 集成功能节省时间。
注意
对于 SQL Server 2017 和早期版本,Azure Key Vault 集成仅适用于 SQL Server 的企业版、开发人员版和评估版。 SQL Server 2019 引入了对 Standard 版本的支持。
所有使用 Azure Key Vault 进行设置操作的 TDE 可扩展密钥管理 (EKM) 必须由 SQL Server 计算机的管理员执行,而 Transact-SQL (T-SQL) 命令则由 sysadmin 执行。 有关使用 Azure Key Vault 设置 TDE EKM 的详细信息,请参阅 使用 Azure Key Vault 设置 SQL Server TDE 可扩展密钥管理。
启用此功能时,它会自动安装 SQL Server 连接器,将 EKM 提供程序配置为访问 Azure Key Vault,并创建用于访问保管库的凭据。 如果查看前面提到的本地文档中的步骤,则会看到此功能自动执行步骤 3、4 和 5(最多 5.4 创建凭据)。 请确保创建服务主体(步骤 1),并使用授予服务主体的适当权限创建密钥保管库(步骤 2)。 请参阅 Azure 基于角色的访问控制 和 保管库访问策略 部分,以确定要使用哪些权限。
之后,会自动进行 SQL Server VM 的整个设置。 此功能完成设置后,可以执行 Transact-SQL (T-SQL) 语句,以像平常一样开始加密数据库或备份。
注意
还可以使用模板配置密钥保管库集成。 有关详细信息,请参阅 Azure quickstart template for Azure Key Vault integration(用于 Azure 密钥保管库集成的 Azure 快速入门模板)。
SQL Server 连接器版本 1.0.5.0 通过 SQL 基础结构即服务(IaaS)扩展安装在 SQL Server VM 上。 升级 SQL IaaS 代理扩展不会更新提供程序版本。 如果安装了较旧版本(例如,使用至少需要 版本 15.0.2000.440 的 Azure Key Vault 托管 HSM 时),请考虑手动升级 SQL Server 连接器版本。 可以使用以下 T-SQL 查询检查 SQL Server 连接器版本:
SELECT name, version from sys.cryptographic_providers
启用和配置密钥保管库集成
可以在预配期间启用密钥保管库集成,或为现有 VM 配置该集成。
新的虚拟机
如果要使用资源管理器预配新的 SQL 虚拟机,Azure 门户提供了一种启用 Azure Key Vault 集成的方法。
有关预配的详细演练,请参阅预配 Azure 虚拟机上的 SQL Server(Azure 门户)。 可以在 Azure Key Vault 集成中查看参数列表及其说明。
现有 VM
对于现有的 SQL 虚拟机,请打开 SQL 虚拟机资源。 在 “安全性”下,选择“ 安全配置”。 选择“启用”以启用“Azure Key Vault 集成”。
以下屏幕截图展示了如何在门户中为 Azure 虚拟机上的现有 SQL Server 启用 Azure Key Vault:
完成后,选择“安全”页底部的“应用”以保存更改。
注意
凭据名称稍后会映射到登录名。 此映射授予对密钥保管库的登录访问权限。 使用 Azure Key Vault 设置 SQL Server TDE 可扩展密钥管理的步骤 5.4 中介绍了创建凭据的手动步骤,但需要使用 ALTER LOGIN 凭据并将其添加到创建的登录名。
ALTER LOGIN [login_name] ADD CREDENTIAL [credential_name];
按照使用 Azure Key Vault 设置 SQL Server TDE 可扩展密钥管理中第 5.5 步的说明继续操作,以完成 EKM 设置。