Condividi tramite


DefaultAzureCredential Classe

Credenziali predefinite in grado di gestire la maggior parte degli scenari di autenticazione di Azure SDK.

L'identità usata dipende dall'ambiente. Quando è necessario un token di accesso, richiede uno usando queste identità a sua volta, arrestandolo quando ne viene fornito un token:

  1. Entità servizio configurata dalle variabili di ambiente. Per informazioni dettagliate, vedere EnvironmentCredential.

  2. WorkloadIdentityCredential se la configurazione delle variabili di ambiente è impostata dal webhook identità del carico di lavoro di Azure.

  3. Identità gestita di Azure. Per informazioni dettagliate, vedere ManagedIdentityCredential.

  4. Solo in Windows: un utente che ha eseguito l'accesso con un'applicazione Microsoft, ad esempio Visual Studio. Se più identità si trovano nella cache, il valore della variabile AZURE_USERNAME di ambiente viene usato per selezionare l'identità da usare. Per informazioni dettagliate, vedere SharedTokenCacheCredential.

  5. Identità attualmente connesso all'interfaccia della riga di comando di Azure.

  6. Identità attualmente connesso a Azure PowerShell.

  7. Identità attualmente connesso al Azure Developer CLI.

Questo comportamento predefinito è configurabile con gli argomenti delle parole chiave.

Ereditarietà
azure.identity.aio._credentials.chained.ChainedTokenCredential
DefaultAzureCredential

Costruttore

DefaultAzureCredential(**kwargs: Any)

Parametri

authority
str

Autorità di un endpoint di Azure Active Directory, ad esempio "login.microsoftonline.com", l'autorità per Azure Public Cloud (ovvero l'impostazione predefinita). AzureAuthorityHosts definisce le autorità per altri cloud. Le identità gestite ignorano questo perché risiedono in un singolo cloud.

exclude_workload_identity_credential
bool

Se escludere l'identità del carico di lavoro dalle credenziali. Impostazione predefinita su False.

exclude_developer_cli_credential
bool

Se escludere la Azure Developer CLI dalle credenziali. Impostazione predefinita su False.

exclude_cli_credential
bool

Se escludere l'interfaccia della riga di comando di Azure dalle credenziali. Impostazione predefinita su False.

exclude_environment_credential
bool

Se escludere un'entità servizio configurata dalle variabili di ambiente dalle credenziali. Impostazione predefinita su False.

exclude_powershell_credential
bool

Se escludere Azure PowerShell. Impostazione predefinita su False.

exclude_visual_studio_code_credential
bool

Se escludere le credenziali archiviate da VS Code. Impostazione predefinita su True.

exclude_managed_identity_credential
bool

Se escludere l'identità gestita dalle credenziali. Impostazione predefinita su False.

exclude_shared_token_cache_credential
bool

Se escludere la cache dei token condivisi. Impostazione predefinita su False.

managed_identity_client_id
str

ID client di un'identità gestita assegnata dall'utente. Per impostazione predefinita, il valore della variabile di ambiente AZURE_CLIENT_ID, se presente. Se non specificato, verrà usata un'identità assegnata dal sistema.

workload_identity_client_id
str

ID client di un'identità assegnata al pod. Per impostazione predefinita, il valore della variabile di ambiente AZURE_CLIENT_ID, se presente. Se non specificato, verrà usata l'identità predefinita del pod.

workload_identity_tenant_id
str

Tenant preferito per WorkloadIdentityCredential. Per impostazione predefinita, il valore della variabile di ambiente AZURE_TENANT_ID, se presente.

shared_cache_username
str

Nome utente preferito per SharedTokenCacheCredential. Per impostazione predefinita, il valore della variabile di ambiente AZURE_USERNAME, se presente.

shared_cache_tenant_id
str

Tenant preferito per SharedTokenCacheCredential. Per impostazione predefinita, il valore della variabile di ambiente AZURE_TENANT_ID, se presente.

visual_studio_code_tenant_id
str

ID tenant da usare per l'autenticazione con VisualStudioCodeCredential. Per impostazione predefinita, l'impostazione "Azure: Tenant" nelle impostazioni utente di VS Code o, quando tale impostazione non ha alcun valore, il tenant "organizzazioni", che supporta solo gli account aziendali o dell'istituto di istruzione di Azure Active Directory.

process_timeout
int

Timeout in secondi da usare per le credenziali degli sviluppatori che eseguono sottoprocessi (ad esempio AzureCliCredential, AzurePowerShellCredential). Il valore predefinito è 10 secondi.

Esempio

Creare un oggetto DefaultAzureCredential.


   from azure.identity.aio import DefaultAzureCredential

   credential = DefaultAzureCredential()

Metodi

close

Chiudere le sessioni di trasporto di tutte le credenziali nella catena.

get_token

Richiedere in modo asincrono un token di accesso per gli ambiti.

Questo metodo viene chiamato automaticamente dai client Azure SDK.

close

Chiudere le sessioni di trasporto di tutte le credenziali nella catena.

async close() -> None

get_token

Richiedere in modo asincrono un token di accesso per gli ambiti.

Questo metodo viene chiamato automaticamente dai client Azure SDK.

async get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken

Parametri

scopes
str
Necessario

ambiti desiderati per il token di accesso. Questo metodo richiede almeno un ambito. Per altre informazioni sugli ambiti, vedere https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

attestazioni aggiuntive necessarie nel token, ad esempio quelle restituite nella richiesta di attestazioni di un provider di risorse in seguito a un errore di autorizzazione.

tenant_id
str

tenant facoltativo da includere nella richiesta di token.

Restituisce

Token di accesso con gli ambiti desiderati.

Tipo restituito

Eccezioni

autenticazione non riuscita. L'eccezione include un attributo di messaggio che elenca ogni tentativo di autenticazione e il relativo messaggio di errore.