Exercício - Proteja uma aplicação Java a partir de uma perspetiva de desenvolvedor Java

Concluído

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.