Oefening: een Java-toepassing beveiligen vanuit het perspectief van een Java-ontwikkelaar
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_ENABLED
en 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.