DefaultAzureCredential Classe
- java.
lang. Object - com.
azure. identity. ChainedTokenCredential - com.
azure. identity. DefaultAzureCredential
- com.
- com.
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] []
- EnvironmentCredential – O DefaultAzureCredential lerá as informações da conta especificadas por meio de variáveis de ambiente e as usará para autenticar.
- 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.
- ManagedIdentityCredential - Se o aplicativo for implantado em um host do Azure com a Identidade Gerenciada habilitada, o DefaultAzureCredential será autenticado com essa conta.
- IntelliJCredential - Se você tiver autenticado por meio do [Kit de Ferramentas do Azure para IntelliJ][], o DefaultAzureCredential será autenticado com essa conta.
- AzureCliCredential - Se você tiver autenticado uma conta por meio do comando da CLI
az login
do Azure, o DefaultAzureCredential será autenticado com essa conta. - AzurePowerShellCredential - Se você tiver autenticado uma conta por meio do comando [Azure Power Shell][]
Az Login
, o DefaultAzureCredential será autenticado com essa conta. - 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 .
- Definir as variáveis
AZURE_CLIENT_ID
de ambiente ,AZURE_CLIENT_SECRET/AZURE_CLIENT_CERTIFICATE_PATH
eAZURE_TENANT_ID
configura o DefaultAzureCredential para autenticar como a entidade de serviço especificada pelos valores. - 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.
- 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/