Compartilhar via


DefaultAzureCredential Classe

public final class DefaultAzureCredential
extends ChainedTokenCredential

O DefaultAzureCredential é apropriado para a maioria dos cenários em que o aplicativo se destina a ser executado no Azure. DefaultAzureCredential combina credenciais que são comumente usadas para autenticar quando implantadas, com credenciais usadas para autenticar em um ambiente de desenvolvimento. O DefaultAzureCredential tentará se autenticar por meio dos mecanismos a seguir na ordem.

! [Imagem 1] []

  1. EnvironmentCredential – O DefaultAzureCredential lerá as informações da conta especificadas por meio de variáveis de ambiente e as usará para autenticar.
  2. WorkloadIdentityCredential – Se o aplicativo for implantado no Kubernetes com variáveis de ambiente definidas pelo webhook de identidade de carga de trabalho, DefaultAzureCredential autenticará a identidade configurada.
  3. ManagedIdentityCredential - Se o aplicativo for implantado em um host do Azure com a Identidade Gerenciada habilitada, o DefaultAzureCredential será autenticado com essa conta.
  4. IntelliJCredential - Se você tiver autenticado por meio do [Kit de Ferramentas do Azure para IntelliJ][], o DefaultAzureCredential será autenticado com essa conta.
  5. AzureCliCredential - Se você tiver autenticado uma conta por meio do comando da CLI az login do Azure, o DefaultAzureCredential será autenticado com essa conta.
  6. AzurePowerShellCredential - Se você tiver autenticado uma conta por meio do comando [Azure Power Shell][] Az Login , o DefaultAzureCredential será autenticado com essa conta.
  7. Falha se nenhuma das credenciais acima puder ser criada.

Para obter mais informações, consulte os [documentos padrão de autenticação de credencial do azure][].

Configurar a DefaultAzureCredential

DefaultAzureCredential dá suporte a um conjunto de configurações por meio de setters nas DefaultAzureCredentialBuilder variáveis de ambiente ou .

  1. Definir as variáveis AZURE_CLIENT_IDde ambiente , AZURE_CLIENT_SECRET/AZURE_CLIENT_CERTIFICATE_PATHe AZURE_TENANT_ID configura o DefaultAzureCredential para autenticar como a entidade de serviço especificada pelos valores.
  2. A configuração managedIdentityClientId(String clientId) no construtor ou na variável de ambiente AZURE_CLIENT_ID configura o DefaultAzureCredential para autenticar como uma identidade gerenciada definida pelo usuário, deixando-os vazios configura-o para se autenticar como uma identidade gerenciada atribuída pelo sistema.
  3. A configuração tenantId(String tenantId) no construtor ou na variável AZURE_TENANT_ID de ambiente configura o DefaultAzureCredential para autenticar em um locatário específico para Visual Studio Code e IntelliJ IDEA.

Exemplo: Construir DefaultAzureCredential

O exemplo de código a seguir demonstra a criação de um DefaultAzureCredential, usando o DefaultAzureCredentialBuilder para configurá-lo. Depois que essa credencial for criada, ela poderá ser passada para o construtor de muitos dos construtores de clientes do SDK do Azure para Java como o parâmetro "credencial".

TokenCredential defaultAzureCredential = new DefaultAzureCredentialBuilder()
     .build();

Exemplo: Construir DefaultAzureCredential com identidade gerenciada atribuída pelo usuário

User-Assigned UAMI (Identidade Gerenciada) no Azure é um recurso que permite criar uma identidade no [Azure Active Directory (Azure AD) ][Azure Active Directory Azure AD] associada a um ou mais recursos do Azure. Essa identidade pode ser usada para autenticar e autorizar o acesso a vários serviços e recursos do Azure. O exemplo de código a seguir demonstra a criação de um DefaultAzureCredential para direcionar uma identidade gerenciada atribuída pelo usuário, usando o DefaultAzureCredentialBuilder para configurá-la. Depois que essa credencial for criada, ela poderá ser passada para o construtor de muitos dos construtores de clientes do SDK do Azure para Java como o parâmetro "credencial".

TokenCredential dacWithUserAssignedManagedIdentity = new DefaultAzureCredentialBuilder()
     .managedIdentityClientId("<Managed-Identity-Client-Id")
     .build();

[Imagem 1]: [Kit de Ferramentas do Azure para IntelliJ]: https://learn.microsoft.com/azure/developer/java/toolkit-for-intellij/ [Azure Power Shell]: https://learn.microsoft.com/powershell/azure/?view=azps-9.4.0 [documentos padrão de autenticação de credencial do Azure]: https://aka.ms/azsdk/java/identity/defaultazurecredential/docs [Azure Active Directory Azure AD]:https://learn.microsoft.com/azure/active-directory/fundamentals/

Métodos herdados de ChainedTokenCredential

Métodos herdados de java.lang.Object

Aplica-se a