无需服务原理即可访问azure kyVault的python脚本

问题描述 投票:0回答:1

我们已将客户端 ID 和机密存储在 Azure 密钥保管库中。我需要访问 azure 之外的这些秘密(从 python 服务器)。我发现了使用服务原理从本地脚本连接到 azure key Vault 的概念,但为此 我们将有另一个客户端 ID 和秘密(用于应用程序注册)。另外我看到我们可以创建托管身份概念来克服服务原则问题。

是否可以使用本地 python 脚本中的托管身份访问密钥保管库?请告诉我。谢谢

python azure scripting azure-keyvault azure-managed-identity
1个回答
0
投票

无需服务原理即可访问azure kyVault的python脚本

System managed Identity
是为azure中的Azure资源设计的,不能像本地python脚本一样直接从外部访问。如果仍想通过托管身份访问,请创建一个虚拟机并启用Identity并向该身份提供角色,然后使用身份登录,无需
Service Principal

对于本地开发,您可以使用

DefaultAzureCredential
中的
azure.identity
,它将使用 Azure CLI (
az login
) 而不是
service principal
进行身份验证。

这是使用默认凭据获取密钥保管库机密的

Python code

from azure.identity import AzureCliCredential
from azure.keyvault.secrets import SecretClient

credential = AzureCliCredential()
client = SecretClient(vault_url="https://demo-keyvaulttest.vault.azure.net/", credential=credential)


secret = client.get_secret("Demo-Secret")
print(secret.value)

输出:

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.