Øvelse – Beskyt et Java-program fra et Java-udviklerperspektiv

Fuldført

I dette undermodul konfigurerer du det eksisterende spring boot-program til at bruge de hemmeligheder, der er gemt i Azure Key Vault.

Du tager rollen som Java-udvikler, der konfigurerer deres projekt til at læse disse hemmeligheder.

Konfiguration af Java-projektet

Azure Spring Boot Starter til Key Vault automatiserer brugen af Key Vault Java SDK til udviklere af Spring Boot.

I forrige afsnit har vi tilføjet to miljøvariabler ved hjælp af kommandolinjegrænsefladen i Azure: AZURE_KEYVAULT_ENABLEDog AZURE_KEYVAULT_URI. Spring Boot læser disse miljøvariabler og bruger dem til at godkende i Azure Key Vault ved hjælp af under Java SDK til Key Vault.

Hvis du vil tilføje understøttelse af Azure Spring Boot starter for Key Vault, skal du tilføje følgende afhængighed i programmets pom.xml-fil:

<dependency>
  <groupId>com.azure.spring</groupId>
  <artifactId>azure-spring-boot-starter-keyvault-secrets</artifactId>
</dependency>

Da vi oprettede Java-projektet, fastkodede vi databasenavnet og -adgangskoden i src/main/resources/application.properties-filen. Sørg for at gendanne den til denne version, som bruger variabler, der leveres af 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 denne ændring indeholder din programkildekode ingen hemmeligheder, og den henter dem fra den Azure Key Vault-forekomst, vi konfigurerede i det forrige afsnit.

Udrul Java-programmet på Azure

Som i det forrige undermodul skal du først pakke det som en Jar-fil for at installere programmet:

./mvnw clean package

Udrul den derefter ved hjælp af Kommandolinjegrænsefladen i Azure. Denne kommando kan tage flere minutter at køre.

az spring app deploy \
   --resource-group $AZ_RESOURCE_GROUP \
   --service $AZ_SPRING_CLOUD \
   --name application \
   --artifact-path target/*.jar

Hvis der opstår fejl, kan du se programlogfilerne ved at skrive følgende kommando:

az spring app logs \
   --resource-group $AZ_RESOURCE_GROUP \
   --service $AZ_SPRING_CLOUD \
   --name application

Programmet er nu tilgængeligt i cloudmiljøet, og du kan få adgang til dets data ved hjælp af en cURL-kommando:

curl https://$AZ_SPRING_CLOUD-application.azuremicroservices.io

Tillykke, du har oprettet et Zero Trust Java-program, der bruger Azure Key Vault til at gemme hemmeligheder.