Övning – Skydda ett Java-program ur ett Java-utvecklarperspektiv
I den här lektionen konfigurerar du det befintliga Spring Boot-programmet för att använda hemligheterna som lagras i Azure Key Vault.
Du tar rollen som Java-utvecklare, som konfigurerar sitt projekt för att läsa dessa hemligheter.
Konfigurera Java-projektet
Azure Spring Boot-startprogrammet för Key Vault automatiserar användningen av Key Vault Java SDK för Spring Boot-utvecklare.
I föregående avsnitt lade vi till två miljövariabler med hjälp av Azure CLI: AZURE_KEYVAULT_ENABLED, och AZURE_KEYVAULT_URI.
Spring Boot läser dessa miljövariabler och använder dem för att autentisera till Azure Key Vault, med hjälp av under Java SDK för Key Vault.
Om du vill lägga till stöd för Azure Spring Boot-startprogrammet för Key Vault lägger du till följande beroende i programmets pom.xml fil:
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>azure-spring-boot-starter-keyvault-secrets</artifactId>
</dependency>
När vi skapade Java-projektet hårdkodade vi databasnamnet och lösenordet i src/main/resources/application.properties filen. Se till att återställa den till den här versionen, som använder variabler som tillhandahålls av 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
Med den ändringen innehåller inte programmets källkod några hemligheter, och den hämtar dem från Azure Key Vault-instansen som vi konfigurerade i föregående avsnitt.
Distribuera Java-programmet till Azure
Precis som i föregående lektion måste du först paketera det som en Jar-fil för att distribuera programmet:
./mvnw clean package
Distribuera den sedan med hjälp av Azure CLI. Det kan ta flera minuter att köra det här kommandot.
az spring app deploy \
--resource-group $AZ_RESOURCE_GROUP \
--service $AZ_SPRING_CLOUD \
--name application \
--artifact-path target/*.jar
Om det uppstår fel kan du titta på programloggarna genom att skriva följande kommando:
az spring app logs \
--resource-group $AZ_RESOURCE_GROUP \
--service $AZ_SPRING_CLOUD \
--name application
Programmet är nu tillgängligt i molnet och du kan komma åt dess data med hjälp av ett cURL-kommando:
curl https://$AZ_SPRING_CLOUD-application.azuremicroservices.io
Grattis, du har skapat ett Nolltillit Java-program som använder Azure Key Vault för att lagra hemligheter.