【问题标题】:what is the difference between customer managed keys and customer provided keys in azure storage encryptionazure 存储加密中客户管理的密钥和客户提供的密钥有什么区别
【发布时间】:2022-01-27 07:49:54
【问题描述】:

我正在使用 Microsoft 文档了解 Azure Blob 存储。当我看到这个页面时

https://docs.microsoft.com/en-us/learn/modules/explore-azure-blob-storage/4-blob-storage-security

我发现加密中有 3 种类型的密钥管理

  1. Microsoft 托管密钥
  2. 客户管理的密钥
  3. 客户提供的密钥

我无法理解最后两者之间的区别。如果是客户管理的密钥,是否由 Microsoft 提供?

请帮忙

提前致谢

【问题讨论】:

  • 你看到你分享的链接底部的表格了吗?
  • 是的,它说“客户管理的密钥”由 Microsoft 和客户管理,“客户提供的密钥”由客户管理。但它没有说明密钥是否由微软为“客户管理的密钥”提供

标签: azure encryption azure-blob-storage


【解决方案1】:

请考虑阅读 Azure 文档中的这两篇文章。 first one 深入描述了客户管理的密钥是如何工作的,而the second 对客户提供的密钥也做了同样的事情。

简而言之,当您使用客户经理密钥时,您表示的是存储在 Azure Key Vault 中的密钥,您希望使用该密钥来加密/解密存储帐户中的数据。

在后台,此密钥将用于加密/解密密钥,而该密钥又将用于实际加密/解密存储帐户中的数据。

每次您与存储帐户交互时,此过程都会透明地执行。

在我引用的第一篇文章中有很好的描述:

  1. Azure Key Vault 管理员将加密密钥的权限授予 与存储帐户关联的托管标识。
  2. Azure 存储管理员使用客户管理的密钥配置加密 用于存储帐户。
  3. Azure 存储使用与 通过 Azure Active 对 Azure Key Vault 的访问进行身份验证的存储帐户 目录。
  4. Azure 存储将帐户加密密钥与客户管理的 Azure Key Vault 中的密钥。
  5. 对于读/写操作,Azure 存储向 Azure Key 发送请求 保险柜打开帐户加密密钥以执行加密和 解密操作。

相反,当使用客户提供的密钥时,您需要在执行请求时提供the encryption key itself among certain metadata,以便在读取或写入 blob 数据时用于加密/解密数据:

再次,现在从我引用的第二个文档中:

当客户端应用程序为请求提供加密密钥时,Azure 存储在读取和读取时透明地执行加密和解密 写入 blob 数据。 Azure 存储写入加密的 SHA-256 哈希 键与 blob 的内容。哈希用于验证所有 针对 blob 的后续操作使用相同的加密密钥。

当客户端使用客户提供的密钥创建或更新 blob 时 请求,然后对该 blob 的后续读取和写入请求必须 还提供密钥。

要将加密密钥作为请求的一部分发送,客户端必须建立 使用 HTTPS 与 Azure 存储建立安全连接。

This article 也会有所帮助。

【讨论】:

  • 所以我总而言之理解,在“客户管理的密钥”中,我们指示存储使用 Keyvault 和“客户提供的密钥”中的密钥(可能由我们创建或由 keyvault 自动创建)我们在每个请求标头中提供密钥,它不存储在 Keyvault 中。感谢您简化差异
猜你喜欢
  • 2020-08-22
  • 1970-01-01
  • 2021-06-23
  • 2020-10-21
  • 2017-12-14
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 2018-09-19
相关资源
最近更新 更多