OnBehalfOfCredential 類別
透過代理者流程驗證服務主體。
此流程通常由仲介層服務使用,以授權使用委派的使用者身分識別向其他服務提出要求。 由於這不是互動式驗證流程,因此使用該應用程式的應用程式必須先取得任何委派許可權的管理員同意,才能要求權杖。 如需代理者流程的詳細描述,請參閱 Azure Active Directory 檔 。
- 繼承
-
azure.identity._internal.msal_credentials.MsalCredentialOnBehalfOfCredentialazure.identity._internal.get_token_mixin.GetTokenMixinOnBehalfOfCredential
建構函式
OnBehalfOfCredential(tenant_id: str, client_id: str, **kwargs: Any)
參數
- client_secret
- str
選擇性。 用來驗證服務主體的用戶端密碼。 必須提供 client_secret 或 client_certificate 。
- client_certificate
- bytes
選擇性。 PEM 或 PKCS12 格式的憑證位元組,包括驗證服務主體的私密金鑰。 必須提供 client_secret 或 client_certificate 。
- user_assertion
- str
必要。 認證在要求代理者權杖時,認證會用來作為使用者判斷提示的存取權杖
- authority
- str
Azure Active Directory 端點的授權單位,例如「login.microsoftonline.com」,即 Azure 公用雲端的授權單位 (,這是預設) 。 AzureAuthorityHosts 定義其他雲端的授權單位。
憑證密碼。 只有在提供 client_certificate 時才使用。 如果此值是 Unicode 字串,則會編碼為 UTF-8。 如果憑證需要不同的編碼方式,請改為傳遞適當編碼的位元組。
- disable_instance_discovery
- bool
判斷嘗試驗證時是否執行實例探索。 將此設定為 true 將會完全停用實例探索和授權單位驗證。 這項功能適用于無法連線到中繼資料端點的情況,例如私人雲端或 Azure Stack。 實例探索的程式需要從 https://login.microsoft.com/ 擷取授權單位中繼資料,以驗證授權單位。 藉由將此設定為 True,即會停用授權單位的驗證。 因此,請務必確保已設定的授權主機有效且值得信任。
除了認證可能會取得權杖的指定「tenant_id」之外,指定租使用者。 新增萬用字元值 「*」,以允許認證取得應用程式可存取之任何租使用者的權杖。
範例
建立 OnBehalfOfCredential。
from azure.identity import OnBehalfOfCredential
credential = OnBehalfOfCredential(
tenant_id="<tenant_id>",
client_id="<client_id>",
client_secret="<client_secret>",
user_assertion="<access_token>",
)
方法
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
屬性會提供原因。