Partager via


DefaultAzureCredential Classe

Informations d’identification par défaut capables de gérer la plupart des scénarios d’authentification du Kit de développement logiciel (SDK) Azure.

L’identité qu’il utilise dépend de l’environnement. Lorsqu’un jeton d’accès est nécessaire, il en demande un à l’aide de ces identités à son tour, en s’arrêtant lorsque l’on fournit un jeton :

  1. Un principal de service configuré par des variables d’environnement. Consultez EnvironmentCredential pour plus d’informations.

  2. WorkloadIdentityCredential si la configuration de la variable d’environnement est définie par le webhook d’identité de charge de travail Azure.

  3. Une identité managée Azure. Consultez ManagedIdentityCredential pour plus d’informations.

  4. Sur Windows uniquement : un utilisateur qui s’est connecté avec une application Microsoft, telle que Visual Studio. Si plusieurs identités se trouvent dans le cache, la valeur de la variable AZURE_USERNAME d’environnement est utilisée pour sélectionner l’identité à utiliser. Consultez SharedTokenCacheCredential pour plus d’informations.

  5. Identité actuellement connectée à Azure CLI.

  6. Identité actuellement connectée à Azure PowerShell.

  7. Identité actuellement connectée au Azure Developer CLI.

Ce comportement par défaut est configurable avec mot clé arguments.

Héritage
azure.identity._credentials.chained.ChainedTokenCredential
DefaultAzureCredential

Constructeur

DefaultAzureCredential(**kwargs: Any)

Paramètres

authority
str

Autorité d’un point de terminaison Azure Active Directory, par exemple « login.microsoftonline.com », l’autorité pour le cloud public Azure (qui est la valeur par défaut). AzureAuthorityHosts définit les autorités pour d’autres clouds. Les identités managées ignorent cela, car elles résident dans un seul cloud.

exclude_workload_identity_credential
bool

Indique s’il faut exclure l’identité de charge de travail des informations d’identification. La valeur par défaut est False.

exclude_developer_cli_credential
bool

Indique s’il faut exclure le Azure Developer CLI des informations d’identification. La valeur par défaut est False.

exclude_cli_credential
bool

Indique s’il faut exclure Azure CLI des informations d’identification. La valeur par défaut est False.

exclude_environment_credential
bool

Indique s’il faut exclure d’informations d’identification un principal de service configuré par des variables d’environnement. La valeur par défaut est False.

exclude_managed_identity_credential
bool

Indique s’il faut exclure l’identité managée des informations d’identification. La valeur par défaut est False.

exclude_powershell_credential
bool

Indique s’il faut exclure Azure PowerShell. La valeur par défaut est False.

exclude_visual_studio_code_credential
bool

Indique s’il faut exclure les informations d’identification stockées de VS Code. La valeur par défaut est True.

exclude_shared_token_cache_credential
bool

Indique s’il faut exclure le cache de jetons partagé. La valeur par défaut est False.

exclude_interactive_browser_credential
bool

Indique s’il faut exclure l’authentification interactive par navigateur (voir InteractiveBrowserCredential). La valeur par défaut est True.

interactive_browser_tenant_id
str

ID de locataire à utiliser lors de l’authentification d’un utilisateur via InteractiveBrowserCredential. Par défaut, la valeur de la variable d’environnement AZURE_TENANT_ID, le cas échéant. S’il n’est pas spécifié, les utilisateurs s’authentifient dans leurs locataires d’origine.

managed_identity_client_id
str

ID de client d’une identité managée affectée par l’utilisateur. Par défaut, la valeur de la variable d’environnement AZURE_CLIENT_ID, le cas échéant. Si elle n’est pas spécifiée, une identité affectée par le système est utilisée.

workload_identity_client_id
str

ID client d’une identité affectée au pod. Par défaut, la valeur de la variable d’environnement AZURE_CLIENT_ID, le cas échéant. Si elle n’est pas spécifiée, l’identité par défaut du pod est utilisée.

workload_identity_tenant_id
str

Locataire préféré pour WorkloadIdentityCredential. Par défaut, la valeur de la variable d’environnement AZURE_TENANT_ID, le cas échéant.

interactive_browser_client_id
str

ID client à utiliser dans les informations d’identification interactives du navigateur. S’il n’est pas spécifié, les utilisateurs s’authentifient auprès d’une application de développement Azure.

shared_cache_username
str

Nom d’utilisateur préféré pour SharedTokenCacheCredential. Par défaut, la valeur de la variable d’environnement AZURE_USERNAME, le cas échéant.

shared_cache_tenant_id
str

Locataire préféré pour SharedTokenCacheCredential. Par défaut, la valeur de la variable d’environnement AZURE_TENANT_ID, le cas échéant.

visual_studio_code_tenant_id
str

ID de locataire à utiliser lors de l’authentification avec VisualStudioCodeCredential. Par défaut, le paramètre « Azure : Locataire » dans les paramètres utilisateur de VS Code ou, lorsque ce paramètre n’a aucune valeur, le locataire « organisations », qui prend uniquement en charge les comptes professionnels ou scolaires Azure Active Directory.

process_timeout
int

Délai d’expiration en secondes à utiliser pour les informations d’identification du développeur qui exécutent des sous-processus (par exemple, AzureCliCredential, AzurePowerShellCredential). Valeur par défaut : 10 secondes.

Exemples

Créez un DefaultAzureCredential.


   from azure.identity import DefaultAzureCredential

   credential = DefaultAzureCredential()

Méthodes

close

Fermez la session de transport de chaque informations d’identification dans la chaîne.

get_token

Demandez un jeton d’accès pour les étendues.

Cette méthode est appelée automatiquement par les clients du Kit de développement logiciel (SDK) Azure.

close

Fermez la session de transport de chaque informations d’identification dans la chaîne.

close() -> None

get_token

Demandez un jeton d’accès pour les étendues.

Cette méthode est appelée automatiquement par les clients du Kit de développement logiciel (SDK) Azure.

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

Paramètres

scopes
str
Obligatoire

étendues souhaitées pour le jeton d’accès. Cette méthode nécessite au moins une étendue. Pour plus d’informations sur les étendues, consultez https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

revendications supplémentaires requises dans le jeton, telles que celles retournées dans la contestation de revendications d’un fournisseur de ressources suite à un échec d’autorisation.

tenant_id
str

locataire facultatif à inclure dans la demande de jeton.

Retours

Jeton d’accès avec les étendues souhaitées.

Type de retour

Exceptions

échec de l’authentification. L’exception a un attribut de message répertoriant chaque tentative d’authentification et son message d’erreur.