在 Python 中访问 Azure Key Vault 时意外的关键字参数 'tenant_id'

unexpected keyword argument 'tenant_id' while accessing Azure Key Vault in Python

我试图访问我的密钥库,但我总是遇到同样的错误:

AppServiceCredential.get_token failed: request() got an unexpected keyword argument 'tenant_id'
ManagedIdentityCredential.get_token failed: request() got an unexpected keyword argument 'tenant_id'

这是我在 Azure 机器学习笔记本中使用的代码,复制自文档:

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

credential = ManagedIdentityCredential()
secret_client = SecretClient(vault_url="https://XXXX.vault.azure.net/", credential=credential)

secretName = 'test'
retrieved_secret = secret_client.get_secret(secretName) # here's the error
retrieved_secret

怎么了?你可以帮帮我吗? 提前谢谢你。

此错误是由于 azure-identityManagedIdentityCredential 中的错误引起的。最近软件包中的 Key Vault 客户端在令牌请求中包含一个租户 ID 以支持 cross-tenant 身份验证,但一些 azure-identity 凭据无法正确处理此关键字参数,直到 version 1.8.0 中的错误得到修复。安装 azure-identity>=1.8.0 应该可以解决您遇到的错误。

(免责声明:我为 Python 的 Azure SDK 工作)