Azure Python SDK ClientSecretCredential 从 Azure keyvault 中获取值

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

使用库 from azure.identity import ClientSecretCredential 无法获取存储在 Azure Keyvault 中的 tenant_id、client_id、client_secret 的值。我已经安装并导入了模块 azure-keyvault-secrets azure-identity 但由于某种原因它不起作用。我不想使用 import DefaultCredentials。下面是我的 python 脚本

from azure.identity import ClientSecretCredential
from azure.mgmt.compute import ComputeManagementClient
from azure.keyvault.secrets import SecretClient

credential = ClientSecretCredential(
    tenant_id='xxxxx',
    client_id='xxxxx',   ##the secret id's values should pick from Keyvault #
    client_secret='xxxxx'
)
subscription_id = "xxxxx"
compute_client = ComputeManagementClient(credential, subscription_id)
`````
Assist me to solve this
azure azure-keyvault azure-automation azure-python-sdk
1个回答
0
投票

我在我的环境中尝试并得到以下结果:

我同意@junnas 和 4c74356b41 的评论,你误解了它是如何工作的 :) 你需要提供这些值,然后你可以使用这些凭据访问密钥库来检索一些东西

您需要使用

Clientsecretcredential
进行授权。您可以使用这些凭据来检索值。

这是它如何工作的示例:

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

credential = ClientSecretCredential(
    tenant_id='',#tenantid
    client_id='',#appid(clientid)   
    client_secret=''#app secret
)
client=SecretClient(vault_url="https://< Your vault name >.vault.azure.net/",credential=credential)
secret=client.get_secret("secret1")
print("The keyvault secret value:",secret.value)

输出: enter image description here

参考: 快速入门 – Azure Key Vault Python 客户端库 – 管理机密 |微软学习

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