Alıştırma - Java geliştirici perspektifinden java uygulamasının güvenliğini sağlama

Tamamlandı

Bu ünitede mevcut Spring Boot uygulamasını Azure Key Vault'ta depolanan gizli dizileri kullanacak şekilde yapılandıracaksınız.

Projesini bu gizli dizileri okuyacak şekilde yapılandıran bir Java geliştiricisi rolüne sahip olursunuz.

Java projesini yapılandırma

Key Vault için Azure Spring Boot başlatıcısı, Spring Boot geliştiricileri için Key Vault Java SDK'sının kullanımını otomatikleştirir.

Önceki bölümde Azure CLI kullanarak iki ortam değişkeni ekledik: AZURE_KEYVAULT_ENABLEDve AZURE_KEYVAULT_URI. Spring Boot bu ortam değişkenlerini okur ve Key Vault için Java SDK'sının altında kullanarak Azure Key Vault'ta kimlik doğrulaması yapmak için kullanır.

Key Vault için Azure Spring Boot başlatıcısına yönelik destek eklemek için uygulamanın pom.xml dosyasına aşağıdaki bağımlılığı ekleyin:

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

Java projesini oluştururken, veritabanı adını ve parolasını dosyaya src/main/resources/application.properties sabit olarak kodladık. Azure Key Vault tarafından sağlanan değişkenleri kullanan bu sürüme geri döndürmeyi unutmayın:

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

Bu değişiklikle, uygulama kaynak kodunuz gizli dizi içermez ve bunları önceki bölümde yapılandırdığımız Azure Key Vault örneğinden alır.

Java uygulamasını Azure'a dağıtma

Önceki ünitede olduğu gibi uygulamayı dağıtmak için önce jar dosyası olarak paketlemeniz gerekir:

./mvnw clean package

Ardından Azure CLI kullanarak dağıtın. Bu komutun çalıştırılması birkaç dakika sürebilir.

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

Hatalarla karşılaşırsanız aşağıdaki komutu yazarak uygulama günlüklerine bakabilirsiniz:

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

Uygulama artık bulutta kullanılabilir ve cURL komutunu kullanarak verilerine erişebilirsiniz:

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

Tebrikler, gizli dizileri depolamak için Azure Key Vault kullanan bir Sıfır Güven Java uygulamasını başarıyla oluşturdunuz.