你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
WorkloadIdentityCredential 类
使用 Azure Active Directory 工作负载标识进行身份验证。
工作负载标识身份验证是 Azure 中的一项功能,它允许在虚拟机 (VM 上运行的应用程序) 访问其他 Azure 资源,而无需服务主体或托管标识。 使用工作负载标识身份验证时,应用程序使用自己的标识(而不是共享服务主体或托管标识)对自身进行身份验证。 工作负载标识身份验证使用服务帐户凭据的概念 (SAC) ,这些凭据由 Azure 自动创建并安全地存储在 VM 中。 通过使用工作负载标识身份验证,可以避免管理和轮换每个 VM 上每个应用程序的服务主体或托管标识。 此外,由于 SAC 由 Azure 自动创建和管理,因此无需担心自行存储和保护敏感凭据。
WorkloadIdentityCredential 支持在 Azure Kubernetes 上进行 Azure 工作负载标识身份验证,并使用 Azure Kubernetes 环境中可用的服务帐户凭据获取令牌。 有关详细信息,请参阅 此工作负载标识概述 。
- 继承
-
azure.identity._credentials.client_assertion.ClientAssertionCredentialWorkloadIdentityCredentialazure.identity._credentials.workload_identity.TokenFileMixinWorkloadIdentityCredential
构造函数
WorkloadIdentityCredential(*, tenant_id: str | None = None, client_id: str | None = None, token_file_path: str | None = None, **kwargs: Any)
参数
- tenant_id
- str
应用程序的 Azure Active Directory 租户的 ID。 也称为其“目录”ID。
- client_id
- str
Azure AD 应用注册的客户端 ID。
- token_file_path
- str
包含对标识进行身份验证的 Kubernetes 服务帐户令牌的文件的路径。
示例
创建 WorkloadIdentityCredential。
from azure.identity import WorkloadIdentityCredential
credential = WorkloadIdentityCredential(
tenant_id="<tenant_id>",
client_id="<client_id>",
token_file_path="<token_file_path>",
)
# Parameters can be omitted if the following environment variables are set:
# - AZURE_TENANT_ID
# - AZURE_CLIENT_ID
# - AZURE_FEDERATED_TOKEN_FILE
credential = WorkloadIdentityCredential()
方法
close | |
get_token |
请求 范围的访问令牌。 此方法由 Azure SDK 客户端自动调用。 |
close
close() -> None
get_token
请求 范围的访问令牌。
此方法由 Azure SDK 客户端自动调用。
get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken
参数
- scopes
- str
访问令牌的所需范围。 此方法至少需要一个范围。 有关范围的详细信息,请参阅 https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc。
- claims
- str
令牌中所需的其他声明,例如授权失败后资源提供程序的声明质询中返回的声明。
- tenant_id
- str
要包含在令牌请求中的可选租户。
- enable_cae
- bool
指示是否为请求的令牌启用持续访问评估 (CAE) 。 默认为 False。
返回
具有所需范围的访问令牌。
返回类型
例外
凭据无法尝试身份验证,因为它缺少所需的数据、状态或平台支持
身份验证失败。 错误的 message
属性提供了一个原因。