使用库 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
我在我的环境中尝试并得到以下结果:
我同意@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)
输出: