【问题标题】:database encryption -Failed to decrypt a column encryption key using key store provider: 'AZURE_KEY_VAULT'数据库加密 - 无法使用密钥存储提供程序解密列加密密钥:\'AZURE_KEY_VAULT\'
【发布时间】:2023-02-01 15:00:15
【问题描述】:

我有 SQL Server 数据库 [Always Encrypt]。表中的某些列之一已加密。 当我尝试使用加密列查询表时出现以下错误。我还使用了“列加密设置=启用”。

消息 0,级别 11,状态 0,行 0 无法解密列“FirstName”。 消息 0,级别 11,状态 0,行 0 无法使用密钥存储提供程序解密列加密密钥:“AZURE_KEY_VAULT”。验证数据库中列加密密钥及其列主密钥的属性。加密列加密密钥的最后 10 个字节是:'63-02-3F-0A-FD-F3-FF-DB-1B-03'。 消息 0,级别 11,状态 0,行 0 发生一个或多个错误。

请帮我。

我想解决我的查询。

【问题讨论】:

  • 验证数据库中列加密密钥及其列主密钥的属性。你做了这个了吗?解密密钥必须可用于执行进程,否则无法解密加密数据。你是如何执行选择查询的?

标签: sql-server azure azure-keyvault always-encrypted


【解决方案1】:

消息 0,级别 11,状态 0,第 0 行无法解密列“FirstName”。 消息 0,级别 11,状态 0,第 0 行无法使用密钥存储提供程序解密列加密密钥:“AZURE_KEY_VAULT”。验证数据库中列加密密钥及其列主密钥的属性。加密列加密密钥的最后 10 个字节是:'63-02-3F-0A-FD-F3-FF-DB-1B-03'。 消息 0,级别 11,状态 0,第 0 行出现一个或多个错误。

Azure Key Vault 策略中未定义的其他 SQL 管理员将无权解密列数据。

进入我们的 Key Vault 并在我们的访问策略中授予 Azure AD 用户权限。

  • 从 Key Vault 选择访问策略
  • 单击顶部的“添加新”链接/按钮
  • 选择您正在使用的 Azure AD 用户
  • 从密钥权限下拉列表中,确保为其授予“解密”、“签名”、“获取”、“解包密钥”、“查看”、“列表”权限
  • 确保保存更改

参考:SQL Always Encrypted Column Access using Azure Key Vault

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 2022-07-23
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    相关资源
    最近更新 更多