Exercício - Proteja uma aplicação Java a partir de uma perspetiva de desenvolvedor Java
Nesta unidade, você configura o aplicativo Spring Boot existente para usar os segredos armazenados no Cofre da Chave do Azure.
Você assume o papel de um desenvolvedor Java, que configura seu projeto para ler esses segredos.
Configurando o projeto Java
O Azure Spring Boot starter for Key Vault automatiza o uso do SDK Java do Key Vault para desenvolvedores do Spring Boot.
Na seção anterior, adicionamos duas variáveis de ambiente usando a CLI do Azure: AZURE_KEYVAULT_ENABLED
, e AZURE_KEYVAULT_URI
.
O Spring Boot lê essas variáveis de ambiente e as usa para autenticar no Azure Key Vault, usando o Java SDK for Key Vault.
Para adicionar suporte para o Azure Spring Boot starter for Key Vault, adicione a seguinte dependência no arquivo do pom.xml
aplicativo:
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>azure-spring-boot-starter-keyvault-secrets</artifactId>
</dependency>
Quando criamos o projeto Java, codificamos o nome e a senha do src/main/resources/application.properties
banco de dados no arquivo. Certifique-se de revertê-lo para esta versão, que usa variáveis fornecidas pelo Azure Key Vault:
logging.level.org.springframework.jdbc.core=DEBUG
spring.datasource.url=jdbc:postgresql://${azureDatabaseName}.postgres.database.azure.com:5432/demo
spring.datasource.username=${azureDatabaseUsername}@${azureDatabaseName}
spring.datasource.password=${azureDatabasePassword}
spring.sql.init.mode=always
Com essa alteração, o código-fonte do aplicativo não contém segredos e os obtém da instância do Cofre de Chaves do Azure que configuramos na seção anterior.
Implantar o aplicativo Java no Azure
Como na unidade anterior, para implantar o aplicativo, você primeiro precisa empacotá-lo como um arquivo Jar:
./mvnw clean package
Em seguida, implante-o usando a CLI do Azure. Este comando pode levar vários minutos para ser executado.
az spring app deploy \
--resource-group $AZ_RESOURCE_GROUP \
--service $AZ_SPRING_CLOUD \
--name application \
--artifact-path target/*.jar
Se você encontrar falhas, você pode examinar os logs do aplicativo digitando o seguinte comando:
az spring app logs \
--resource-group $AZ_RESOURCE_GROUP \
--service $AZ_SPRING_CLOUD \
--name application
O aplicativo agora está disponível na nuvem, e você pode acessar seus dados usando um comando cURL:
curl https://$AZ_SPRING_CLOUD-application.azuremicroservices.io
Parabéns, você criou com êxito um aplicativo Java Zero Trust que usa o Azure Key Vault para armazenar segredos.