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.aio._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_powershell_credential
- bool
是否要排除Azure PowerShell。 預設值為 False。
- exclude_visual_studio_code_credential
- bool
是否要從 VS Code 排除預存認證。 預設值為 True。
- exclude_managed_identity_credential
- bool
是否要從認證中排除受控識別。 預設值為 False。
- exclude_shared_token_cache_credential
- bool
是否要排除共用權杖快取。 預設值為 False。
- 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。
- 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.aio import DefaultAzureCredential
credential = DefaultAzureCredential()
方法
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
要包含在權杖要求中的選擇性租使用者。
傳回
具有所需範圍的存取權杖。
傳回類型
例外狀況
驗證失敗。 例外狀況有 一個訊息 屬性,列出每個驗證嘗試及其錯誤訊息。