我需要从 keyvault 中检索秘密。到目前为止,这是我的代码:
from azure.mgmt.keyvault import KeyVaultManagementClient
from azure.common.credentials import ServicePrincipalCredentials
subscription_id = 'x'
# See above for details on creating different types of AAD credentials
credentials = ServicePrincipalCredentials(
client_id = 'x',
secret = 'x',
tenant = 'x'
)
kv_client = KeyVaultManagementClient(credentials, subscription_id)
for vault in kv_client.vaults.list():
print(vault)
但我收到此错误:
msrestazure.azure_exceptions.CloudError:Azure 错误:AuthorizationFailed 消息:对象 ID 为“x”的客户端“x”无权在“/订阅/x”范围内执行“Microsoft.Resources/subscriptions/resources/read”操作。
现在我可以使用 C# 代码/ POwershell 访问具有相同凭据的相同密钥库,因此授权绝对没有问题。不知道为什么它不能使用 SDK 工作。请帮忙。