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.
Neste tutorial, você aprenderá a usar o serviço de Configuração de Aplicativo do Azure junto com o Cofre da Chave do Azure. A Configuração do Aplicativo e o Cofre da Chave são serviços complementares usados lado a lado na maioria das implantações de aplicativos.
A Configuração do Aplicativo ajuda você a usar os serviços juntos criando chaves que fazem referência a valores armazenados no Cofre de Chaves. Quando a Configuração do Aplicativo cria essas chaves, ela armazena os URIs dos valores do Cofre de Chaves em vez dos valores em si.
Seu aplicativo usa o provedor de cliente de Configuração de Aplicativo para recuperar referências do Cofre de Chaves, assim como faz para quaisquer outras chaves armazenadas na Configuração do Aplicativo. Nesse caso, os valores armazenados na Configuração do Aplicativo são URIs que fazem referência aos valores no Cofre da Chave. Não são valores ou credenciais do Cofre de Chaves. Como o provedor do cliente reconhece as chaves como referências do Cofre da Chave, ele usa o Cofre da Chave para recuperar seus valores.
Seu aplicativo é responsável por autenticar corretamente na Configuração do Aplicativo e no Cofre da Chave. Os dois serviços não se comunicam diretamente.
Este tutorial mostra como implementar referências do Key Vault em seu código. Baseia-se na aplicação web introduzida no Guia de Início Rápido. Antes de continuar, conclua a criação de uma aplicação Java Spring com Configuração de Aplicações primeiro.
Você pode usar qualquer editor de código para executar as etapas neste tutorial. Por exemplo, o Visual Studio Code é um editor de código multiplataforma disponível para os sistemas operacionais Windows, macOS e Linux.
Neste tutorial, irá aprender a:
- Crie uma chave de Configuração do Aplicativo que faça referência a um valor armazenado no Cofre da Chave.
- Acesse o valor dessa chave a partir de um aplicativo Java Spring.
Pré-requisitos
- Subscrição do Azure - crie uma gratuitamente
- Um Java Development Kit (JDK) suportado com a versão 17.
- Apache Maven versão 3.0 ou superior.
- Termine o Início Rápido de Criar uma Aplicação Java Spring com Configuração de Aplicações.
Criar um cofre de chaves
Entre no portal do Azure e selecione Criar um recurso.
Na caixa de pesquisa, introduza Key Vault. Na lista de resultados, selecione Cofre da Chave.
Na página Cofre da Chave , selecione Criar.
Na página Criar um cofre de chaves , insira as seguintes informações:
- Para Assinatura: Selecione uma assinatura.
- Para Grupo de recursos: insira o nome de um grupo de recursos existente ou selecione Criar novo e insira um nome de grupo de recursos.
- Para Nome do cofre de chaves: insira um nome exclusivo.
- Para Região: Selecione um local.
Para as outras opções, use os valores padrão.
Selecione Verificar + criar.
Depois de o sistema validar e exibir as suas entradas, selecione Criar.
Neste ponto, a sua conta do Azure é a única autorizada a aceder a este novo cofre.
Adicionar um segredo ao Key Vault
Adicione um segredo ao Key Vault para testar a recuperação. O segredo chama-se Mensagem, e o seu valor é "Olá da Key Vault."
No menu de recursos do Cofre de Chaves, selecione Objetos>Segredos.
Selecione Gerar/Importar.
Na caixa de diálogo Criar um segredo , insira os seguintes valores:
- Para opções de upload: insira Manual.
- Para Nome: insira a mensagem.
- Para Valor secreto: Digite Hello from Key Vault.
Para as outras opções, use os valores padrão.
Selecione Criar.
Adicionar uma referência do Cofre da Chave à Configuração do Aplicativo
Inicie sessão no portal do Azure. Selecione Todos os recursos e, em seguida, selecione a sua loja de Configuração de Aplicações.
Selecione Configuration Explorer.
Selecione + Criar>Referência do Cofre de Chaves e, em seguida, especifique os seguintes valores:
- Chave: Introduza /application/config.keyVaultMessage.
- Label: Deixe este valor em branco.
- Subscrição, Grupo de Recursos e Cofre de Chaves: Insira os valores correspondentes ao cofre de chaves que criou na secção anterior.
- Segredo: Selecione o segredo chamado Mensagem que você criou na seção anterior.
Conceda ao seu aplicativo acesso ao Cofre da Chave
A sua aplicação serve DefaultAzureCredential para autenticar tanto na App Configuration como no Key Vault. Esta credencial funciona automaticamente com identidades geridas no Azure e com as suas credenciais de programador localmente.
Conceda à sua identidade acesso ao Key Vault (Cofre de Chaves). Atribua o papel de Utilizador Key Vault Secrets à sua conta de utilizador ou identidade gerida:
az role assignment create --role "Key Vault Secrets User" --scope /subscriptions/<subscriptionId>/resourceGroups/<group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name> --assignee <your-azure-ad-user-or-managed-identity>Conceda acesso à sua identidade à Configuração de Aplicações. Atribuir o papel de Leitor de Dados de Configuração da App :
az role assignment create --role "App Configuration Data Reader" --scope /subscriptions/<subscriptionId>/resourceGroups/<group-name>/providers/Microsoft.AppConfiguration/configurationStores/<your-app-configuration-store> --assignee <your-azure-ad-user-or-managed-identity>
Atualize o seu código para usar uma referência do Azure Key Vault
Crie uma variável de ambiente chamada APP_CONFIGURATION_ENDPOINT. Defina seu valor para o ponto de extremidade da sua loja de configuração de aplicativos. Você pode encontrar o endpoint na lâmina Chaves de Acesso no portal do Azure. Reinicie o prompt de comando para permitir que a alteração entre em vigor.
Abra o arquivo de configuração na pasta de recursos . Atualize este arquivo para usar o valor APP_CONFIGURATION_ENDPOINT . Remova todas as referências a uma cadeia de conexão neste arquivo.
spring:
config:
import: azureAppConfiguration
cloud:
azure:
appconfiguration:
stores:
- endpoint: ${APP_CONFIGURATION_ENDPOINT}
Nota
Você também pode usar as configurações globais do Spring Cloud Azure para se conectar ao Cofre da Chave.
Abre MyProperties.java. Adicione uma nova variável chamada keyVaultMessage:
private String keyVaultMessage; public String getKeyVaultMessage() { return keyVaultMessage; } public void setKeyVaultMessage(String keyVaultMessage) { this.keyVaultMessage = keyVaultMessage; }Abra HelloController.java. Atualize o método getMessage para incluir a mensagem recuperada do Cofre da Chave.
@GetMapping public String getMessage() { return "Message: " + properties.getMessage() + "\nKey Vault message: " + properties.getKeyVaultMessage(); }Crie seu aplicativo Spring Boot com o Maven e execute-o, por exemplo:
mvn clean package mvn spring-boot:runDepois que seu aplicativo estiver em execução, use curl para testar seu aplicativo, por exemplo:
curl -X GET http://localhost:8080/Vê a mensagem que introduziu na App Configuration Store. Também vê a mensagem que inseriu no Azure Key Vault.
Limpar recursos
Se não quiser continuar a utilizar os recursos criados neste artigo, elimine o grupo de recursos que criou aqui para evitar cobranças.
Importante
A eliminação de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos nele contidos são excluídos permanentemente. Certifique-se de não excluir acidentalmente o grupo de recursos ou recursos errados. Se você criou os recursos para este artigo dentro de um grupo de recursos que contém outros recursos que deseja manter, exclua cada recurso individualmente de seu respetivo painel em vez de excluir o grupo de recursos.
- Entre no portal do Azure e selecione Grupos de recursos.
- Na caixa Filtrar por nome, introduza o nome do seu grupo de recursos.
- Na lista de resultados, selecione o nome do grupo de recursos para ver uma visão geral.
- Selecione Eliminar grupo de recursos.
- É-lhe pedido que confirme a eliminação do grupo de recursos. Insira o nome do grupo de recursos a ser confirmado e selecione Excluir.
Após alguns momentos, o grupo de recursos e todos os seus recursos são excluídos.
Próximos passos
Neste tutorial, você criou uma chave de Configuração do Aplicativo que faz referência a um valor armazenado no Cofre da Chave. Para mais perguntas, consulte a documentação de referência, que contém todos os detalhes sobre como funciona a biblioteca de Configuração de Aplicativos do Azure do Spring Cloud. Para saber como usar sinalizadores de recursos em seu aplicativo Java Spring, continue para o próximo tutorial.