DefaultAzureCredential 類別

能夠處理大部分 Azure SDK 驗證案例的預設認證。

其使用的身分識別取決於環境。 需要存取權杖時,它會依序要求使用這些身分識別的權杖,並在提供權杖時停止:

  1. 環境變數所設定的服務主體。 如需更多詳細資料,請參閱 EnvironmentCredential \(英文\)。

  2. 如果環境變數設定是由 Azure 工作負載身分識別 Webhook 設定,則 WorkloadIdentityCredential。

  3. Azure 受控識別。 如需更多詳細資料,請參閱 ManagedIdentityCredential \(英文\)。

  4. 僅限 Windows:已使用 Microsoft 應用程式登入的使用者,例如 Visual Studio。 如果快取中有多個身分識別,則會使用環境變數 AZURE_USERNAME 的值來選取要使用的身分識別。 如需更多詳細資料,請參閱 SharedTokenCacheCredential \(英文\)。

  5. 目前登入 Azure CLI 的身分識別。

  6. 目前登入Azure PowerShell的身分識別。

  7. 目前登入Azure Developer CLI的身分識別。

此預設行為可使用關鍵字引數進行設定。

繼承
azure.identity._credentials.chained.ChainedTokenCredential
DefaultAzureCredential

建構函式

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

要包含在權杖要求中的選擇性租使用者。

傳回

具有所需範圍的存取權杖。

傳回類型

例外狀況

驗證失敗。 例外狀況有 一個訊息 屬性,其中列出每個驗證嘗試及其錯誤訊息。