1

这里的目标是: 协助客户配置他的 Key Vault,以便他能够启用 TDE 加密并通过政府门户 url 访问它


客户逐字逐句:“我在尝试为 SQL Server 2016 启用 TDE 时遇到问题。我附上了一些显示问题的文件。基本上问题是当 SQL 尝试连接到它使用公共的 Azure Key Vault 时后缀 (azure.net) 而不是 govcloud 后缀 (usgovcloudapi.net)。如何强制它使用正确的 URL?” https://vant4gekeyvault.vault.usgovcloudapi.net/


我认为问题在于这是一个政府租户,他一直使用商业 URL,但我们无法强制使用正确的 URL。我向他发送了有关如何将 AzureKeyVaultServiceEndpointResourceId 的 Set-AzureRmEnvironment 设置为 *.vault.usgovcloudapi.net 的说明,应该是https://vault.usgovcloudapi.net。但这似乎不起作用。我也可能在这个假设上有些偏离,因为我在 KV 中并不是那么出色。任何想法或已知的修复?

这是他的错误消息: ---SQL Msg 33049, Level 16, State 2, Line 17 Key with name 'SqlTDEKey' 在提供程序中不存在或访问被拒绝。提供者错误代码:2058。(提供者错误 - 没有解释,详情请咨询 EKM 提供者)

--- 事件日志 找不到来自 Microsoft Azure Key Vault 的源 SQL Server 连接器的事件 ID 2 的描述。引发此事件的组件未安装在本地计算机上,或者安装已损坏。您可以在本地计算机上安装或修复组件。

如果事件起源于另一台计算机,则显示信息必须与事件一起保存。

活动中包含以下信息:

保险库名称:EKM 操作操作:SqlCryptGetKeyInfoByName 密钥名称:N/A 消息:访问注册表时出错:5

4

1 回答 1

1

再次阅读消息,该帐户没有修改注册表的权限。这是连接器 2 月版本中引入的一个问题。我遇到了类似的问题,提供者尝试创建一个注册表项,但没有这样做的权限,因此它失败了。尝试从这篇博文 [1] 中采取的以下步骤

打开注册表

  • 导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
  • 创建一个名为“SQL Server Cryptographic Provider”的新密钥(不带引号)
  • 右键单击该键,从上下文菜单中选择“权限”。
  • 将此密钥的完全控制权限授予运行 SQL Server 的 Windows 服务帐户

[1] https://www.visualstudiogeeks.com/devops/SqlServerKeyVaultConnectorProviderError2058RegistryConsultEKMProvider

于 2018-07-30T19:41:24.593 回答