Exercício – Proteger um aplicativo Java da perspectiva de um desenvolvedor de Java
Nesta unidade, você vai configurar o aplicativo Spring Boot existente para usar os segredos armazenados no Azure Key Vault.
Você assume a função de um desenvolvedor Java, que configura o projeto para ler esses segredos.
Como configurar o projeto Java
O kit de início do Azure Spring Boot para Key Vault automatiza o uso do SDK do Java para 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 autenticação no Azure Key Vault, com o uso subjacente no SDK do Java para Key Vault.
Para adicionar suporte ao kit de início do Azure Spring Boot para Key Vault, adicione a seguinte dependência ao arquivo pom.xml
do aplicativo:
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>azure-spring-boot-starter-keyvault-secrets</artifactId>
</dependency>
Quando criamos o projeto Java, embutimos em código o nome do banco de dados e a senha no arquivo src/main/resources/application.properties
. Não se esqueça de revertê-lo para esta versão, que usa as 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 nenhum segredo e obtém os segredos da instância do Azure Key Vault que configuramos na seção anterior.
Implantar o aplicativo Java no Azure
Como na unidade anterior, para implantar o aplicativo, primeiro, você precisará empacotá-lo como um arquivo JAR:
./mvnw clean package
Em seguida, implante-o usando a CLI do Azure. Esse 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, poderá analisar 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 os dados dele usando um comando do cURL:
curl https://$AZ_SPRING_CLOUD-application.azuremicroservices.io
Parabéns! Você criou com sucesso um aplicativo Java de Confiança Zero que usa o Azure Key Vault para armazenar os segredos.