使用应用程序客户端机密访问AzureKeyVault机密

c#

问题陈述:在网络/控制台 c# 应用程序中以编程方式检索和使用存储在 azure 密钥保管库中的敏感值(例如数据库连接字符串)。

我了解您可以在 AAD 中注册一个应用程序,并使用其客户端 ID 和客户端密码以编程方式生成广告令牌,该令牌可用于调用/访问 Azure Key Vault 密码。

我的困惑是客户端机密本身是一个敏感的“密码”,您希望将其存储在密钥保管库中。一旦有人知道客户端机密,他们就可以访问密钥保管库中的所有机密。那么创建一个新的秘密(客户端秘密)来存储和访问原始秘密有什么意义呢?(有人可以解释这背后的逻辑吗?谢谢!

回答

这就是bootstrapping的问题。如何在不使用机密的情况下访问机密存储?

如果您在 Azure 中运行您的应用程序,答案非常简单。使用托管身份。

如果不在 Azure 中运行,交互式应用程序可以代表当前用户访问 Key Vault。这确实要求用户有权访问 Key Vault 机密。

另一种方法是使用证书而不是客户端机密。


以上是使用应用程序客户端机密访问AzureKeyVault机密的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>