问题标签 [azure-secrets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
78 浏览

c# - 服务启动后如何再次加载配置设置

我的应用程序托管在 AKS 中,机密存储在 Azure 机密存储中。我的客户创建了一个存储/mnt/secrets-store该目录的卷,该目录包含我的应用程序的所有机密。

例如:

  • RabbitMq--密码
  • DB--连接字符串

显然,这是我当前客户的标准做法。然后,解决方案是在每次他们想要加载设置时读取文件。这一切都在治疗图表中设置。

我的一些服务在启动时作为单例加载,这意味着这些设置需要在启动时可用。

注意:我的服务无法直接访问 Azure 密钥保管库,这不是可以更改的。我只能访问这些文件。

我所做的是创建一个习惯,IConfigurationBuilder称为UseAzureKeyVaultMountedSecrets一切都非常严格。它只是检查文件夹,然后加载秘密以替换 appsettings..json 中的任何内容,因为该密钥是名称。

在本地进行测试,我刚刚创建了包含文件的文件夹,它就像一个魅力。但是,当托管在 AKS 上时,我开始遇到问题。我的健康检查表明它可以检测到 mnt 目录。但它不阅读它们。

经过一番调试,我发现问题是在pod中启动微服务时,mnt dir不可用。在 pod 运行之后,它首先可以访问 mnt 目录。

有解决方案吗?

  • 在 AKS 中启动之前,我怎样才能让它 mnt 卷?
  • 服务启动后是否可以再次加载设置?如果是。然后我想知道我是否可以创建类似 IHostedService 的东西,它会继续尝试访问它,然后在它抓住它们后停止。

问题的主要部分是这些设置用于配置系统中运行的所有单例。如果我等到所有内容都加载完毕,它们就已经配置好了。

0 投票
1 回答
39 浏览

python - 在 Python 中为 Azure Keyvault 循环变量和设置机密

所以我正在创建一个将机密导入 Azure 的 Python 脚本。我有 24 个 keyvault 值和秘密,但我需要一种更好的方法来编写这个并且我正在苦苦挣扎。这是我到目前为止所拥有的:

我希望块文本更小我不知道我是如何查看 dict 键值对的,但我不确定它是如何工作的。

有人可以帮忙吗。

编辑:我开发了一个 python 脚本,允许您为 1 个密钥库创建多个秘密 - https://github.com/TechyTish/AzurePy/blob/main/create-azure-secrets-README.md