使用 python 从 Azure KeyVault 批量请求机密

Requesting secrets from Azure KeyVault in bulk using python

我们的应用程序在 Azure KeyValut 中存储了大量机密(数十个机密)。启动应用程序后,我们需要将所有秘密加载到内存中。目前,我们一个一个地获取秘密。它有效但需要花费大量时间。我想知道是否有一种方法可以一次获取许多秘密,或者,也许,将多个请求分批处理为一个 HTTP 请求。 azure.keyvault.secrets.SecretClient 似乎没有提供任何实现此目的的方法。

有一个 REST API 方法 https://docs.microsoft.com/en-us/rest/api/keyvault/getsecrets/getsecrets#secretlistresult 但它只枚举秘密而不给我它们的值。

如有任何建议,我们将不胜感激。

遗憾的是,无法在单个请求中列出机密的值。

我们使用 list_properties_of_secrets 列出 Python 中客户端保险库中所有秘密的属性。

List items don’t include secret values. Use get_secret() to get a secret’s value.

secret = secret_client.get_secret("secret-name")

如果您的项目设置许多机密将花费“数小时”,您可以考虑将多个机密(以某种格式,如 JSON,或任何适用于您的应用程序的格式)捆绑在一起。例如,枚举所有这些以通过前缀找到一个,将需要一段时间,并且仍然受到服务限制。参考here.