Exerciții - Securizarea unei aplicații Java dintr-o perspectivă a dezvoltatorului Java
În această unitate, configurați aplicația existentă Spring Boot pentru a utiliza secretele stocate în Azure Key Vault.
Luați rolul unui dezvoltator Java, care își configurează proiectul pentru a citi aceste secrete.
Configurarea proiectului Java
Azure Spring Boot starter pentru Key Vault automatizează utilizarea SDK-ului Java Vault Java pentru dezvoltatorii Spring Boot.
În secțiunea anterioară, am adăugat două variabile de mediu utilizând Azure CLI: AZURE_KEYVAULT_ENABLEDși AZURE_KEYVAULT_URI.
Spring Boot citește aceste variabile de mediu și le utilizează pentru a se autentifica la Azure Key Vault, utilizând sub Java SDK pentru seiful cheie.
Pentru a adăuga suport pentru instrumentul de pornire Azure Spring Boot pentru Key Vault, adăugați următoarea dependență în fișierul pom.xml al aplicației:
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>azure-spring-boot-starter-keyvault-secrets</artifactId>
</dependency>
Când am creat proiectul Java, am codat cu cod numele bazei de date și parola în fișierul src/main/resources/application.properties. Nu uitați să o readuceți la această versiune, care utilizează variabile furnizate de 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
Cu această modificare, codul sursă al aplicației nu conține secrete și le obține din instanța Azure Key Vault configurată în secțiunea anterioară.
Implementarea aplicației Java în Azure
La fel ca în unitatea anterioară, pentru a implementa aplicația, trebuie mai întâi să-l împachetați ca fișier Jar:
./mvnw clean package
Apoi implementați-l utilizând Azure CLI. Această comandă poate dura câteva minute.
az spring app deploy \
--resource-group $AZ_RESOURCE_GROUP \
--service $AZ_SPRING_CLOUD \
--name application \
--artifact-path target/*.jar
Dacă întâmpinați erori, puteți consulta jurnalele de aplicații tastând următoarea comandă:
az spring app logs \
--resource-group $AZ_RESOURCE_GROUP \
--service $AZ_SPRING_CLOUD \
--name application
Aplicația este acum disponibilă în cloud și îi puteți accesa datele utilizând o comandă cURL:
curl https://$AZ_SPRING_CLOUD-application.azuremicroservices.io
Felicitări, ați creat cu succes o aplicație Zero Trust Java care utilizează Azure Key Vault pentru a stoca secrete.