c# - 对于 Azure Key Vault,我应该将tenantId、clientId 和clientSecret 存储在哪里?
问题描述
我正在使用 Azure Key Vault 来存储我的连接字符串。需要它们的应用程序只是将在 Azure VM 中运行的 C# 控制台应用程序。问题是,我不确定存储tenantId、clientId 和clientSecret 的最佳做法是什么。他们应该在代码中编译吗?它们应该放在 app.config 文件中吗?它们应该放在环境变量中吗?他们应该被加密吗?或者这些是纯文本吗?
解决方案
如果您想将属性存储在您的 VM 上,您可以使用已部署的服务身份验证(例如环境变量、托管身份)。参考这里。
托管标识是在 Azure 中进行身份验证的最安全和推荐的选项,请参阅此处。您可以使用托管身份访问 App Configuration。
服务主体是一种标识应用程序或服务的安全主体,也就是说,是一段代码,而不是用户或组。服务主体的对象 ID 称为其客户端 ID,其作用类似于其用户名。服务主体的客户端密钥或证书的作用类似于其密码。许多 Azure 服务支持通过客户端 ID 和证书的自动管理来分配托管标识。托管标识是在 Azure 中进行身份验证的最安全和推荐的选项。
推荐阅读
- extendscript - 如何在 After Effects 脚本中获取所有动画预设的列表
- c# - Inventor API 在测试环境下的行为与在开发环境下的行为不同
- laravel-5 - 如何使用 laravel 常量向用户隐藏侧边栏菜单?
- java - Flowable 将 bytearray 列加载为 BLOB
- async-await - 如何在 hylang 中编写像点(。)运算符这样的宏?
- sql - 有没有办法在 Oracle SQL 中将数字转换为带圆圈的数字?(1到①或20到⑳)
- concurrency - 使用并发调用从远程服务器检索数据的最佳方式是什么?
- javascript - 使用谷歌 cse 服务时出现错误:403 - ReactJS
- javascript - C#:错误的 DateTime 格式传递给前端
- attributes - 如何在类的所有属性上添加 Xss 属性?