Cvičení – zabezpečení aplikace v Javě z pohledu vývojáře v Javě

Dokončeno

V této lekci nakonfigurujete existující aplikaci Spring Boot tak, aby používala tajné kódy uložené ve službě Azure Key Vault.

Převezmete roli vývojáře v Javě, který konfiguruje projekt tak, aby tyto tajné kódy četl.

Konfigurace projektu Java

Úvodní sada Azure Spring Boot pro Key Vault automatizuje použití sady Java SDK služby Key Vault pro vývojáře Spring Boot.

V předchozí části jsme přidali dvě proměnné prostředí pomocí Azure CLI: AZURE_KEYVAULT_ENABLEDa AZURE_KEYVAULT_URI. Spring Boot přečte tyto proměnné prostředí a použije je k ověření ve službě Azure Key Vault pomocí sady Java SDK pro Key Vault.

Pokud chcete přidat podporu úvodní sady Azure Spring Boot pro Key Vault, přidejte do souboru aplikace pom.xml následující závislost:

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

Když jsme vytvořili projekt Java, pevně zakódovali jsme do souboru název databáze a heslo src/main/resources/application.properties . Nezapomeňte se vrátit k této verzi, která používá proměnné poskytované službou 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

Díky této změně zdrojový kód vaší aplikace neobsahuje žádné tajné kódy a získá je z instance služby Azure Key Vault, kterou jsme nakonfigurovali v předchozí části.

Nasazení aplikace v Javě do Azure

Stejně jako v předchozí lekci musíte aplikaci nejprve zabalit jako soubor Jar:

./mvnw clean package

Pak ho nasaďte pomocí Azure CLI. Spuštění tohoto příkazu může trvat několik minut.

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

Pokud dojde k selháním, můžete se podívat na protokoly aplikace zadáním následujícího příkazu:

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

Aplikace je teď dostupná v cloudu a přístup k jejím datům můžete získat pomocí příkazu cURL:

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

Blahopřejeme, úspěšně jste vytvořili aplikaci nulová důvěra (Zero Trust) Java, která k ukládání tajných kódů používá Službu Azure Key Vault.