首页 > 解决方案 > 对于 Azure Key Vault,我应该将tenantId、clientId 和clientSecret 存储在哪里?

问题描述

我正在使用 Azure Key Vault 来存储我的连接字符串。需要它们的应用程序只是将在 Azure VM 中运行的 C# 控制台应用程序。问题是,我不确定存储tenantId、clientId 和clientSecret 的最佳做法是什么。他们应该在代码中编译吗?它们应该放在 app.config 文件中吗?它们应该放在环境变量中吗?他们应该被加密吗?或者这些是纯文本吗?

标签: c#azureazure-keyvault

解决方案


如果您想将属性存储在您的 VM 上,您可以使用已部署的服务身份验证(例如环境变量、托管身份)。参考这里

在此处输入图像描述

托管标识是在 Azure 中进行身份验证的最安全和推荐的选项,请参阅此处。您可以使用托管身份访问 App Configuration

服务主体是一种标识应用程序或服务的安全主体,也就是说,是一段代码,而不是用户或组。服务主体的对象 ID 称为其客户端 ID,其作用类似于其用户名。服务主体的客户端密钥或证书的作用类似于其密码。许多 Azure 服务支持通过客户端 ID 和证书的自动管理来分配托管标识。托管标识是在 Azure 中进行身份验证的最安全和推荐的选项。


推荐阅读