你当前正在访问 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.ClientAssertionCredential
WorkloadIdentityCredential
azure.identity._credentials.workload_identity.TokenFileMixin
WorkloadIdentityCredential

构造函数

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 属性提供了一个原因。