你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
CertificateCredential 类
使用证书作为服务主体进行身份验证。
证书必须具有 RSA 私钥,因为此凭据使用 RS256 对断言进行签名。 有关配置证书身份验证的详细信息,请参阅 Azure Active Directory 文档 。
- 继承
-
azure.identity.aio._internal.AsyncContextManagerCertificateCredentialazure.identity.aio._internal.get_token_mixin.GetTokenMixinCertificateCredential
构造函数
CertificateCredential(tenant_id: str, client_id: str, certificate_path: str | None = None, **kwargs: Any)
参数
- authority
- str
Azure Active Directory 终结点的颁发机构(例如“login.microsoftonline.com”)是 Azure 公有云 (默认) 。 AzureAuthorityHosts 定义其他云的权威。
- certificate_data
- bytes
PEM 格式证书的字节数,包括私钥
- cache_persistence_options
- TokenCachePersistenceOptions
持久令牌缓存的配置。 如果未指定,凭据将在内存中缓存令牌。
除了指定凭据可能为其获取令牌的指定“tenant_id”之外,还指定租户。 添加通配符值“*”以允许凭据获取应用程序可以访问的任何租户的令牌。
示例
创建 CertificateCredential。
from azure.identity.aio import CertificateCredential
credential = CertificateCredential(
tenant_id="<tenant_id>",
client_id="<client_id>",
certificate_path="<path to PEM/PKCS12 certificate>",
password="<certificate password if necessary>",
)
# Certificate/private key byte data can also be passed directly
credential = CertificateCredential(
tenant_id="<tenant_id>",
client_id="<client_id>",
certificate_data=b"<cert data>",
)
方法
close |
关闭凭据的传输会话。 |
get_token |
请求 范围的访问令牌。 Azure SDK 客户端会自动调用此方法。 |
close
关闭凭据的传输会话。
async close() -> None
get_token
请求 范围的访问令牌。
Azure SDK 客户端会自动调用此方法。
async 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
属性提供了一个原因。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈