Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo fornece uma visão geral da biblioteca de Identidade do Azure para Java, que fornece suporte à autenticação de token do Microsoft Entra no SDK do Azure para Java. Esta biblioteca fornece um conjunto de implementações que você pode usar para construir clientes do SDK do Azure que dão suporte à autenticação de TokenCredential token do Microsoft Entra.
Atualmente, a biblioteca de Identidades do Azure suporta:
-
Autenticação do Azure em ambientes de desenvolvimento Java, que permite:
- Autenticação do IDEA IntelliJ, com as informações de início de sessão recuperadas do Kit de Ferramentas do Azure para IntelliJ.
- Autenticação da CLI do Azure, com as informações de início de sessão salvas na CLI do Azure
- Informações de autenticação da Azure Developer CLI, com as informações de início de sessão salvas na Azure Developer CLI.
- Autenticação do Azure PowerShell, com as informações de entrada salvas no Azure PowerShell
-
Autenticar aplicativos hospedados no Azure, o que permite:
-
DefaultAzureCredentialautenticação - Autenticação de identidade gerenciada
-
-
Autenticação com entidades de serviço, que permite:
- Autenticação de segredo do cliente
- Autenticação de certificado de cliente
-
Autenticação com credenciais de usuário, que permite:
- Autenticação interativa do navegador
- Autenticação de código de dispositivo
- Autenticação de nome de utilizador/palavra-passe
Siga estes links para saber mais sobre as especificidades de cada uma dessas abordagens de autenticação. No restante deste artigo, introduzimos o DefaultAzureCredential e os tópicos relacionados comumente usados.
Adicionar as dependências do Maven
Inclua o azure-sdk-bom em seu projeto para assumir uma dependência da versão estável da biblioteca. No trecho a seguir, substitua o espaço reservado {bom_version_to_target} pelo número da versão. Para saber mais sobre o BOM, consulte a seção Adicionar o Azure SDK para Java a um projeto existente na Introdução ao Azure SDK e ao Apache Maven.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-sdk-bom</artifactId>
<version>{bom_version_to_target}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Em seguida, inclua a dependência direta na seção dependencies sem a tag version:
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</dependency>
</dependencies>
Conceitos-chave
Há dois conceitos principais na compreensão da biblioteca de Identidades do Azure: o conceito de uma credencial e a implementação mais comum dessa credencial, DefaultAzureCredential.
Uma credencial é uma classe que contém ou pode obter os dados necessários para um cliente de serviço autenticar solicitações. Os clientes de serviço no SDK do Azure aceitam credenciais quando são criados, e utilizam essas credenciais para autenticar solicitações para o serviço correspondente.
A biblioteca de Identidade do Azure se concentra na autenticação OAuth com a ID do Microsoft Entra e oferece várias classes de credenciais que podem adquirir um token do Microsoft Entra para autenticar solicitações de serviço. Todas as classes de credenciais nesta biblioteca são implementações da TokenCredential classe abstrata no azure-core, e podem ser usadas para construir clientes de serviço que se autenticam com um TokenCredential.
DefaultAzureCredential é apropriado para a maioria dos cenários em que o aplicativo se destina a ser executado na Nuvem do Azure.
DefaultAzureCredential Combina credenciais que são comumente usadas para autenticar quando implantadas, com credenciais que são usadas para autenticar em um ambiente de desenvolvimento. Para obter mais informações, incluindo exemplos usando DefaultAzureCredentialo , consulte a seção DefaultAzureCredential de Autenticando aplicativos Java hospedados no Azure.
Exemplos
Conforme observado em Usar o SDK do Azure para Java, as bibliotecas de gerenciamento diferem ligeiramente. Uma das diferenças é que há bibliotecas para consumir serviços do Azure, chamadas bibliotecas de cliente , e bibliotecas para gerenciar serviços do Azure, chamadas bibliotecas de gerenciamento de . Nas seções a seguir, há uma visão geral rápida da autenticação em bibliotecas de cliente e de gerenciamento.
Autenticar bibliotecas de cliente do Azure
O exemplo a seguir demonstra a autenticação do SecretClient da biblioteca cliente azure-security-keyvault-secrets usando o DefaultAzureCredential.
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
Autenticar bibliotecas de gerenciamento do Azure
As bibliotecas de gerenciamento do Azure usam as mesmas APIs de credenciais que as bibliotecas de cliente do Azure, mas também exigem uma ID de assinatura do Azure para gerenciar os recursos do Azure nessa assinatura.
Pode encontrar os IDs de subscrição na página Subscrições no portal do Azure. Como alternativa, use o seguinte comando da CLI do Azure para obter IDs de assinatura:
az account list --output table
Você pode definir o ID da assinatura na AZURE_SUBSCRIPTION_ID variável de ambiente.
AzureProfile seleciona essa ID como a ID de assinatura padrão durante a criação de uma Manager instância no exemplo a seguir:
AzureResourceManager azureResourceManager = AzureResourceManager.authenticate(
new DefaultAzureCredentialBuilder().build(),
new AzureProfile(AzureEnvironment.AZURE))
.withDefaultSubscription();
DefaultAzureCredential usado neste exemplo autentica uma AzureResourceManager instância usando DefaultAzureCredential. Você também pode usar outras implementações de Credenciais de Token oferecidas na biblioteca de Identidades do Azure no lugar de DefaultAzureCredential.
Resolução de Problemas
Para obter orientação, consulte Solucionar problemas de autenticação do Azure Identity.
Próximos passos
Este artigo apresentou a funcionalidade de Identidade do Azure disponível no SDK do Azure para Java. Foi descrito DefaultAzureCredential como comum e apropriado em muitos casos. Os artigos a seguir descrevem outras maneiras de autenticar usando a biblioteca de Identidades do Azure e fornecem mais informações sobre DefaultAzureCredential: