Compartilhar via


DefaultAzureCredential Classe

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

A identidade usada 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. A identidade atualmente conectada à CLI do Azure.

  6. A identidade atualmente conectada ao Azure PowerShell.

  7. A identidade atualmente conectada ao Azure Developer CLI.

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

Herança
azure.identity.aio._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 as autoridades para outras nuvens. As identidades gerenciadas ignoram isso porque residem em uma única nuvem.

exclude_workload_identity_credential
bool

Se a identidade da carga de trabalho deve ser excluída 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 a CLI do Azure deve ser excluída da credencial. O padrão é False.

exclude_environment_credential
bool

Se uma entidade de serviço deve ser excluída configurada por variáveis de ambiente 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_managed_identity_credential
bool

Se a identidade gerenciada deve ser excluída da credencial. O padrão é False.

exclude_shared_token_cache_credential
bool

Se o cache de token compartilhado deve ser excluído. O padrão é False.

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.

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.aio import DefaultAzureCredential

   credential = DefaultAzureCredential()

Métodos

close

Feche as sessões de transporte de todas as credenciais na cadeia.

get_token

Solicite de forma assíncrona um token de acesso para escopos.

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

close

Feche as sessões de transporte de todas as credenciais na cadeia.

async close() -> None

get_token

Solicite de forma assíncrona um token de acesso para escopos.

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

async 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 aquelas 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.