c# - 存储在 Google Secret Manager 中的 DotNet 用户机密
问题描述
我需要将 dotnet Web 应用程序部署到 Google Cloud Run,并希望使用用户机密文件来存储凭据。目前,它们位于不安全的 appsettings 中。有没有人使用 Google Secret Manager 做到这一点?
- 最好存储键值对,一个json blob?
- 我想在启动时而不是在构建时提取值。
如果有现有的示例或片段,他们将不胜感激。
谢谢。
解决方案
Google Cloud Run 和 Google Secret Manager 可以很好地协同工作。关键是授予 Cloud Run 服务帐户访问 Secret Manager 的权限。这消除了在您的应用程序中访问 Secret Manager 的需要。
最好存储键值对,一个json blob吗?
这取决于存储的数据量。通常,您创建一个具有名称 (secretId) 的密钥并将数据分配给该密钥(通过 API 或 CLI gcloud
)。在您的应用程序中,您按名称 (secretId) 读取密钥。
我想在启动时而不是在构建时提取值。
Seth Vargo(此处重复)提供的链接包含 C# 和许多其他语言的示例。您的应用程序在运行时从 Secret Manager 读取机密。
Guillaume Blaquiere 写了一篇文章,展示了如何使用 Secret Manager、Cloud Run 和环境变量。绝对值得一读。
推荐阅读
- c# - 我可以用脚本控制 Lighting2D 强度吗?(统一 C#)
- sql - 用连接到原始 SQL 表的表字符串事件填充的列
- html - 只有当内容高度适合屏幕高度时,我才能在固定位置设置一些东西?
- mongodb - 如何使用 mongodb 使用稳定排序获得结果
- git - POST git-receive-pack 后 git push 挂起并失败
- sql - 存储过程约束检查问题
- r - 当数据为长格式时,如何在 R 中创建具有条件的新变量?
- javascript - 为什么 array.length 在 Javascript 中给出“Uncaught TypeError: array.length is not a function”错误?
- html - 当我在 chrome 手机上向下滚动时,Bootstrap 网站向上滚动
- python - pandas .between() 比使用 & 更快吗?