【发布时间】:2021-05-03 10:14:29
【问题描述】:
我正在尝试允许应用服务 (python) 从 azure keyvault 获取机密而不使用硬编码的客户端 ID/机密,因此我正在尝试使用 ManagedIdentity。
- 我已在我的服务应用中启用系统和用户分配的功能
- 我在保险库中创建了一项策略,服务应用程序被授予访问机密的权限
代码:
credentials_object = ManagedIdentityCredential()
client = SecretClient(vault_url=VAULT_URL, credential=credentials_object)
value = client.get_secret('MYKEY').value
错误(应用部署和本地运行时):
azure.identity._exceptions.CredentialUnavailableError:ManagedIdentityCredential 身份验证不可用,未找到托管身份端点。
我错过了什么? 谢谢!
【问题讨论】:
-
预期在本地运行,因为没有托管标识。它仅在 Azure 中可用。您在哪种应用服务中运行您的应用?
-
Windows 还是 Linux?
-
Linux,在 docker 容器内
-
它在 python 之外工作吗?请参阅docs.microsoft.com/en-us/azure/container-instances/… 以获取要测试的示例代码。
标签: python azure credentials azure-keyvault azure-managed-identity