Oefening: een Java-toepassing beveiligen vanuit het perspectief van een Java-ontwikkelaar

Voltooid

In deze les configureert u de bestaande Spring Boot-toepassing voor het gebruik van de geheimen die zijn opgeslagen in Azure Key Vault.

U neemt de rol van een Java-ontwikkelaar die het project configureert om deze geheimen te lezen.

Het Java-project configureren

De Azure Spring Boot-starter voor Key Vault automatiseert het gebruik van de Key Vault Java SDK voor Spring Boot-ontwikkelaars.

In de vorige sectie hebben we twee omgevingsvariabelen toegevoegd met behulp van de Azure CLI: AZURE_KEYVAULT_ENABLEDen AZURE_KEYVAULT_URI. Spring Boot leest deze omgevingsvariabelen en gebruikt deze om te verifiëren bij Azure Key Vault, met behulp van de Java SDK voor Key Vault.

Als u ondersteuning wilt toevoegen voor de Azure Spring Boot-starter voor Key Vault, voegt u de volgende afhankelijkheid toe in het bestand van pom.xml de toepassing:

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

Toen we het Java-project maakten, hebben we de databasenaam en het wachtwoord in het src/main/resources/application.properties bestand vastgelegd. Zorg ervoor dat u deze herstelt naar deze versie, die gebruikmaakt van variabelen die worden geleverd door 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

Met deze wijziging bevat uw toepassingsbroncode geen geheimen en worden ze opgehaald uit het Azure Key Vault-exemplaar dat we in de vorige sectie hebben geconfigureerd.

De Java-toepassing implementeren in Azure

Net als in de vorige eenheid moet u de toepassing eerst verpakken als jar-bestand om de toepassing te implementeren:

./mvnw clean package

Implementeer deze vervolgens met behulp van de Azure CLI. Het uitvoeren van deze opdracht kan enkele minuten duren.

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

Als er fouten optreden, kunt u de toepassingslogboeken bekijken door de volgende opdracht te typen:

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

De toepassing is nu beschikbaar in de cloud en u hebt toegang tot de gegevens met behulp van een cURL-opdracht:

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

Gefeliciteerd, u hebt een Zero Trust Java-toepassing gemaakt die gebruikmaakt van Azure Key Vault om geheimen op te slaan.