DefaultAzureCredential 類別
能夠處理大部分 Azure SDK 驗證案例的預設認證。
其使用的身分識別取決於環境。 需要存取權杖時,它會依序要求使用這些身分識別的權杖,並在提供權杖時停止:
環境變數所設定的服務主體。 如需更多詳細資料,請參閱 EnvironmentCredential \(英文\)。
如果環境變數設定是由 Azure 工作負載身分識別 Webhook 設定,則 WorkloadIdentityCredential。
Azure 受控識別。 如需更多詳細資料,請參閱 ManagedIdentityCredential \(英文\)。
僅限 Windows:已使用 Microsoft 應用程式登入的使用者,例如 Visual Studio。 如果快取中有多個身分識別,則會使用環境變數
AZURE_USERNAME
的值來選取要使用的身分識別。 如需更多詳細資料,請參閱 SharedTokenCacheCredential \(英文\)。目前登入 Azure CLI 的身分識別。
目前登入Azure PowerShell的身分識別。
目前登入Azure Developer CLI的身分識別。
此預設行為可使用關鍵字引數進行設定。
- 繼承
-
azure.identity._credentials.chained.ChainedTokenCredentialDefaultAzureCredential
建構函式
DefaultAzureCredential(**kwargs: Any)
參數
- authority
- str
Azure Active Directory 端點的授權單位,例如「login.microsoftonline.com」,即 Azure 公用雲端 (的授權單位,這是預設) 。 AzureAuthorityHosts 定義其他雲端的授權單位。 受控識別會忽略此情況,因為它們位於單一雲端中。
- exclude_workload_identity_credential
- bool
是否要從認證中排除工作負載身分識別。 預設值為 False。
- exclude_developer_cli_credential
- bool
是否要從認證中排除Azure Developer CLI。 預設值為 False。
- exclude_cli_credential
- bool
是否要從認證中排除 Azure CLI。 預設值為 False。
- exclude_environment_credential
- bool
是否要從認證中排除環境變數所設定的服務主體。 預設值為 False。
- exclude_managed_identity_credential
- bool
是否要從認證中排除受控識別。 預設值為 False。
- exclude_powershell_credential
- bool
是否要排除Azure PowerShell。 預設值為 False。
- exclude_visual_studio_code_credential
- bool
是否要從 VS Code 排除預存認證。 預設值為 True。
- exclude_shared_token_cache_credential
- bool
是否要排除共用權杖快取。 預設值為 False。
- exclude_interactive_browser_credential
- bool
是否要排除互動式瀏覽器驗證 (請參閱 InteractiveBrowserCredential) 。 預設值為 True。
- interactive_browser_tenant_id
- str
透過 InteractiveBrowserCredential 驗證使用者時要使用的租使用者識別碼。 預設值為環境變數的值,如果有的話AZURE_TENANT_ID。 如果未指定,使用者將會在其主租使用者中驗證。
- managed_identity_client_id
- str
使用者指派的受控識別用戶端識別碼。 預設值為環境變數的值,如果有的話,AZURE_CLIENT_ID。 如果未指定,則會使用系統指派的身分識別。
- workload_identity_client_id
- str
指派給 Pod 之身分識別的用戶端識別碼。 預設值為環境變數的值,如果有的話,AZURE_CLIENT_ID。 如果未指定,則會使用 Pod 的預設身分識別。
- workload_identity_tenant_id
- str
的慣用租使用者 WorkloadIdentityCredential 。 預設值為環境變數的值,如果有的話AZURE_TENANT_ID。
- interactive_browser_client_id
- str
要用於互動式瀏覽器認證的用戶端識別碼。 如果未指定,使用者將會向 Azure 開發應用程式進行驗證。
- shared_cache_username
- str
慣用的使用者名稱 SharedTokenCacheCredential 。 預設值為環境變數的值,如果有的話,AZURE_USERNAME。
- shared_cache_tenant_id
- str
的慣用租使用者 SharedTokenCacheCredential 。 預設值為環境變數的值,如果有的話AZURE_TENANT_ID。
- visual_studio_code_tenant_id
- str
向 VisualStudioCodeCredential 進行驗證時要使用的租使用者識別碼。 預設為 VS Code 使用者設定中的 「Azure: Tenant」設定,或當該設定沒有值時,「組織」租使用者僅支援 Azure Active Directory 公司或學校帳戶。
- process_timeout
- int
用於執行子處理 (開發人員認證的逾時,例如 AzureCliCredential、AzurePowerShellCredential) 。 預設值為 10 秒。
範例
建立 DefaultAzureCredential。
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
方法
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
要包含在權杖要求中的選擇性租使用者。
傳回
具有所需範圍的存取權杖。
傳回類型
例外狀況
驗證失敗。 例外狀況有 一個訊息 屬性,其中列出每個驗證嘗試及其錯誤訊息。