使用 Azure Key Vault 而不是仅使用 App Configuration 有什么意义?

What is the point of using Azure Key Vault instead of only App Configuration?

在应用程序配置中使用 Azure Key Vault 有什么意义吗?

是的,是的,我知道 - 它们是免费的,密钥保管库的秘密,应用程序配置......好吧,应用程序配置。

但是,考虑到它们都是加密的,基本上要让某人看到秘密或配置值,他们必须能够访问您的 Azure 门户(这是一个低级的坏人场景)。

我看到的唯一区别是您可以在保管库和配置之间以不同方式控制权限,但除此之外,如果未经授权的人可以访问您的门户,您就会遇到更大的问题.

所以 - 为什么?并且请只提出好的和真实的论点,不要“因为你应该”或“因为 X 人这么说”,我会从应用程序配置中没有的密钥保管库中获得什么好处?

1-存储在 Azure Key Vault 中的数据已加密(应用程序配置未加密)

2-如果一个人与贡献者角色相关联,he/she 可以在您的应用程序配置中看到配置,在 Key Vault 上,只允许委托人。

3-您可以轮换存储在 Azure Key Vault 中的机密,并且您的应用程序不会有任何停机时间(除非您将它缓存在您的应用程序服务上并需要重新启动它,以刷新缓存)

4-Azure Key Vault 是 Microsoft 推荐的用于存储机密、密钥和证书的服务

我认为你不应该忽视一个事实,即拥有你的应用服务配置的人可以看到秘密。贵公司的开发人员可以访问生产应用服务以进行错误调查,但这并不意味着他可以访问生产机密。单个员工的笔记本电脑(可以访问 Azure 门户)被黑客入侵并不一定意味着“可以访问应用程序的每个秘密”。

但是除了(正如你已经知道的),我看到了哪些不同:

  • 更好的治理和访问监控:您有日志可以查看谁尝试访问每个机密、何时以及如何访问,这是您在应用服务中无法做到的事情
  • 更好的机密管理:所有机密都存储在一个地方,当某些机密在多个应用服务中共享(由多个应用服务使用)时,您只需在密钥保管库中修改它们一次,而不是在每个应用服务配置上修改它们
  • 一些高级机制,例如recovery management and purge protection
  • 更好的开发体验:在调试应用程序时,如果您的用户有权访问 keyvault,他可以 运行 应用程序将从 keyvault 加载机密到配置中,而不是在本地手动复制 azure 应用程序设置中的机密

感谢您的提问。我 re-phrase 是这样的:

Q) Key VaultApp Configuration 的设计如何支持不同的目的?我在哪里可以找到 table 功能和优点的明确比较?

我也很感激你在旁边:

please only good and real arguments no "because you should" or "because person X said so", what benefits would I reap with key vault that I don't have with app config?

以下是我发现的对比收益:

第 1 条:What is Azure App Configuration?

App Configuration complements Azure Key Vault, which is used to store application secrets. App Configuration makes it easier to implement the following scenarios:

  • Centralize management and distribution of hierarchical configuration data for different environments and geographies
  • Dynamically change application settings without the need to redeploy or restart an application
  • Control feature availability in real-time

第 2 条:Key management with Key Vault

Key management with Key Vault

Without proper protection and management of the keys, encryption is rendered useless. Key Vault is the Microsoft-recommended solution for managing and controlling access to encryption keys used by cloud services. Permissions to access keys can be assigned to services or to users through Azure Active Directory accounts.

Key Vault relieves organizations of the need to configure, patch, and maintain hardware security modules (HSMs) and key management software. When you use Key Vault, you maintain control. Microsoft never sees your keys, and applications don’t have direct access to them. You can also import or generate keys in HSMs.


第 3 条:Azure Key Vault recovery management with soft delete and purge protection

Soft delete and purge protection are two different key vault recovery features.