DefaultAzureCredential Classe

Uma credencial padrão capaz de lidar com a maioria dos cenários de autenticação do SDK do Azure.

A identidade que ele usa depende do ambiente. Quando um token de acesso é necessário, ele solicita um usando essas identidades, parando quando um fornece um token:

  1. Uma entidade de serviço configurada por variáveis de ambiente. Consulte EnvironmentCredential para obter mais detalhes.

  2. WorkloadIdentityCredential se a configuração da variável de ambiente for definida pelo webhook de identidade de carga de trabalho do Azure.

  3. Uma identidade gerenciada do Azure. Consulte ManagedIdentityCredential para obter mais detalhes.

  4. Somente no Windows: um usuário que entrou com um aplicativo da Microsoft, como o Visual Studio. Se várias identidades estiverem no cache, o valor da variável AZURE_USERNAME de ambiente será usado para selecionar qual identidade usar. Consulte SharedTokenCacheCredential para obter mais detalhes.

  5. Atualmente, a identidade está conectada à CLI do Azure.

  6. Atualmente, a identidade está conectada ao Azure PowerShell.

  7. Atualmente, a identidade está conectada ao Azure Developer CLI.

Esse comportamento padrão é configurável com argumentos palavra-chave.

Herança
azure.identity._credentials.chained.ChainedTokenCredential
DefaultAzureCredential

Construtor

DefaultAzureCredential(**kwargs: Any)

Parâmetros

authority
str

Autoridade de um ponto de extremidade do Azure Active Directory, por exemplo, "login.microsoftonline.com", a autoridade para a Nuvem Pública do Azure (que é o padrão). AzureAuthorityHosts define autoridades para outras nuvens. As identidades gerenciadas ignoram isso porque residem em uma única nuvem.

exclude_workload_identity_credential
bool

Se deseja excluir a identidade da carga de trabalho da credencial. O padrão é False.

exclude_developer_cli_credential
bool

Se deseja excluir o Azure Developer CLI da credencial. O padrão é False.

exclude_cli_credential
bool

Se deseja excluir a CLI do Azure da credencial. O padrão é False.

exclude_environment_credential
bool

Se deseja excluir uma entidade de serviço configurada por variáveis de ambiente da credencial. O padrão é False.

exclude_managed_identity_credential
bool

Se deseja excluir a identidade gerenciada da credencial. O padrão é False.

exclude_powershell_credential
bool

Se deseja excluir Azure PowerShell. O padrão é False.

exclude_visual_studio_code_credential
bool

Se deseja excluir a credencial armazenada do VS Code. O padrão é True.

exclude_shared_token_cache_credential
bool

Se deseja excluir o cache de token compartilhado. O padrão é False.

exclude_interactive_browser_credential
bool

Se deseja excluir a autenticação interativa do navegador (consulte InteractiveBrowserCredential). O padrão é True.

interactive_browser_tenant_id
str

ID do locatário a ser usada ao autenticar um usuário por meio de InteractiveBrowserCredential. O padrão é o valor da variável de ambiente AZURE_TENANT_ID, se houver. Se não for especificado, os usuários serão autenticados em seus locatários domésticos.

managed_identity_client_id
str

O ID do cliente de uma identidade gerenciada atribuída pelo usuário. O padrão é o valor da variável de ambiente AZURE_CLIENT_ID, se houver. Se não for especificado, uma identidade atribuída pelo sistema será usada.

workload_identity_client_id
str

A ID do cliente de uma identidade atribuída ao pod. O padrão é o valor da variável de ambiente AZURE_CLIENT_ID, se houver. Se não for especificado, a identidade padrão do pod será usada.

workload_identity_tenant_id
str

Locatário preferencial para WorkloadIdentityCredential. O padrão é o valor da variável de ambiente AZURE_TENANT_ID, se houver.

interactive_browser_client_id
str

A ID do cliente a ser usada na credencial interativa do navegador. Se não for especificado, os usuários serão autenticados em um aplicativo de desenvolvimento do Azure.

shared_cache_username
str

Nome de usuário preferencial para SharedTokenCacheCredential. O padrão é o valor da variável de ambiente AZURE_USERNAME, se houver.

shared_cache_tenant_id
str

Locatário preferencial para SharedTokenCacheCredential. O padrão é o valor da variável de ambiente AZURE_TENANT_ID, se houver.

visual_studio_code_tenant_id
str

ID do locatário a ser usada ao autenticar com VisualStudioCodeCredential. O padrão é a configuração "Azure: Locatário" nas configurações de usuário do VS Code ou, quando essa configuração não tem valor, o locatário "organizações", que dá suporte apenas a contas corporativas ou de estudante do Azure Active Directory.

process_timeout
int

O tempo limite em segundos a ser usado para credenciais de desenvolvedor que executam subprocessos (por exemplo, AzureCliCredential, AzurePowerShellCredential). O padrão é 10 segundos.

Exemplos

Crie um DefaultAzureCredential.


   from azure.identity import DefaultAzureCredential

   credential = DefaultAzureCredential()

Métodos

close

Feche a sessão de transporte de cada credencial na cadeia.

get_token

Solicite um token de acesso para escopos.

Esse método é chamado automaticamente por clientes do SDK do Azure.

close

Feche a sessão de transporte de cada credencial na cadeia.

close() -> None

get_token

Solicite um token de acesso para escopos.

Esse método é chamado automaticamente por clientes do SDK do Azure.

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

Parâmetros

scopes
str
Obrigatório

escopos desejados para o token de acesso. Esse método requer pelo menos um escopo. Para obter mais informações sobre escopos, consulte https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

declarações adicionais necessárias no token, como as retornadas no desafio de declarações de um provedor de recursos após uma falha de autorização.

tenant_id
str

locatário opcional a ser incluído na solicitação de token.

Retornos

Um token de acesso com os escopos desejados.

Tipo de retorno

Exceções

falha na autenticação. A exceção tem um atributo de mensagem listando cada tentativa de autenticação e sua mensagem de erro.