从 Azure Functions 动态访问 azure key vault
Access azure key vault from Azure Functions dynamically
我正在 python 中编写一个 azure 函数应用程序。它是一个 http 触发器应用程序。应用程序的输入是 userID。
{ "user":"TEST_USER_1" }
函数应使用 'user' 参数中指定的用户名并在 azure keyvault 中查找密码并尝试远程登录其中一项服务。为此,我们需要为特定的 keyvault 版本添加应用程序设置参数,但这些更改是静态的。
对我们来说,所有用户及其密码都添加到 azure keyvault 中,我们将继续提供更多用户。
现在,挑战是如何动态访问 API 调用期间指定的任何用户的密码?是否可以在不指定单个秘密版本的情况下访问密钥库中的所有秘密?
这是您需要做的:
- 为您的 Azure 函数创建托管标识
- 授予先前身份对 Azure Key Vault(获取/列出)的权限
- 在您的函数中从 Azure AD 获取访问令牌
- 使用令牌检索秘密。
一些有用的链接:
https://docs.microsoft.com/en-us/azure/python/python-sdk-azure-authenticate
https://docs.microsoft.com/en-us/python/api/overview/azure/key-vault?view=azure-python
我正在 python 中编写一个 azure 函数应用程序。它是一个 http 触发器应用程序。应用程序的输入是 userID。
{ "user":"TEST_USER_1" }
函数应使用 'user' 参数中指定的用户名并在 azure keyvault 中查找密码并尝试远程登录其中一项服务。为此,我们需要为特定的 keyvault 版本添加应用程序设置参数,但这些更改是静态的。
对我们来说,所有用户及其密码都添加到 azure keyvault 中,我们将继续提供更多用户。
现在,挑战是如何动态访问 API 调用期间指定的任何用户的密码?是否可以在不指定单个秘密版本的情况下访问密钥库中的所有秘密?
这是您需要做的:
- 为您的 Azure 函数创建托管标识
- 授予先前身份对 Azure Key Vault(获取/列出)的权限
- 在您的函数中从 Azure AD 获取访问令牌
- 使用令牌检索秘密。
一些有用的链接:
https://docs.microsoft.com/en-us/azure/python/python-sdk-azure-authenticate
https://docs.microsoft.com/en-us/python/api/overview/azure/key-vault?view=azure-python