共用方式為


CertificateCredential 類別

使用憑證驗證為服務主體。

憑證必須具有 RSA 私密金鑰,因為此認證會使用 RS256 簽署判斷提示。 如需設定憑證驗證的詳細資訊,請參閱 Azure Active Directory 檔

繼承
azure.identity._internal.client_credential_base.ClientCredentialBase
CertificateCredential

建構函式

CertificateCredential(tenant_id: str, client_id: str, certificate_path: str | None = None, **kwargs: Any)

參數

tenant_id
str
必要

服務主體租使用者的識別碼。 也稱為其 「目錄」識別碼。

client_id
str
必要

服務主體的用戶端識別碼

certificate_path
str
預設值: None

PEM 或 PKCS12 格式的憑證檔案選擇性路徑,包括私密金鑰。 如果未提供,則需要 certificate_data

authority
str

Azure Active Directory 端點的授權單位,例如「login.microsoftonline.com」,即 Azure 公用雲端的授權單位 (,這是預設) 。 AzureAuthorityHosts 定義其他雲端的授權單位。

certificate_data
bytes

PEM 或 PKCS12 格式的憑證位元組,包括私密金鑰

password
strbytes

憑證的密碼。 如果 unicode 字串,則會將其編碼為 UTF-8。 如果憑證需要不同的編碼方式,請改為傳遞適當編碼的位元組。

send_certificate_chain
bool

如果為 True,認證將會在每個權杖要求的 JWT x5c 標頭中傳送公用憑證鏈結。 這是主體名稱/簽發者 (SNI) 驗證的必要專案。 預設為 False。

cache_persistence_options
TokenCachePersistenceOptions

持續性權杖快取的組態。 如果未指定,認證將會快取記憶體中的權杖。

disable_instance_discovery
bool

判斷嘗試驗證時是否執行實例探索。 將此設定為 true 將會完全停用實例探索和授權單位驗證。 這項功能適用于無法連線到中繼資料端點的情況,例如私人雲端或 Azure Stack。 實例探索的程式需要從 https://login.microsoft.com/ 擷取授權單位中繼資料,以驗證授權單位。 藉由將此設定為 True,即會停用授權單位的驗證。 因此,請務必確保已設定的授權主機有效且值得信任。

additionally_allowed_tenants
List[str]

除了認證可能會取得權杖的指定「tenant_id」之外,指定租使用者。 新增萬用字元值 「*」,以允許認證取得應用程式可存取之任何租使用者的權杖。

範例

建立 CertificateCredential。


   from azure.identity 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

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 屬性會提供原因。