Latihan - Mengamankan aplikasi Java dari perspektif pengembang Java
Di unit ini, Anda mengonfigurasi aplikasi Spring Boot yang ada untuk menggunakan rahasia yang disimpan di Azure Key Vault.
Anda mengambil peran pengembang Java, yang mengonfigurasi proyek mereka untuk membaca rahasia tersebut.
Mengonfigurasi proyek Java
Starter Azure Spring Boot untuk Key Vault mengotomatiskan penggunaan Java SDK Key Vault untuk pengembang Spring Boot.
Di bagian sebelumnya, dua variabel lingkungan ditambahkan menggunakan Azure CLI: AZURE_KEYVAULT_ENABLED, dan AZURE_KEYVAULT_URI.
Spring Boot membaca variabel lingkungan ini dan menggunakannya untuk mengautentikasi ke Azure Key Vault, menggunakan Java SDK untuk Key Vault di bawahnya.
Untuk menambahkan dukungan untuk starter Azure Spring Boot untuk Key Vault, tambahkan dependensi berikut dalam file pom.xml aplikasi:
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>azure-spring-boot-starter-keyvault-secrets</artifactId>
</dependency>
Saat membuat proyek Java, kita membuat hard-code nama database dan kata sandi ke dalam file src/main/resources/application.properties. Pastikan untuk mengembalikannya ke versi ini, yang menggunakan variabel yang disediakan oleh 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
Dengan perubahan tersebut, kode sumber aplikasi Anda tidak berisi rahasia apa pun, dan mendapatkannya dari instans Azure Key Vault yang kami konfigurasi di bagian sebelumnya.
Menyebarkan aplikasi Java ke Azure
Seperti di unit sebelumnya, untuk menyebarkan aplikasi, Anda harus terlebih dahulu mengemasnya sebagai file Jar:
./mvnw clean package
Kemudian sebarkan menggunakan Azure CLI. Perintah ini dapat memakan waktu beberapa menit untuk dijalankan.
az spring app deploy \
--resource-group $AZ_RESOURCE_GROUP \
--service $AZ_SPRING_CLOUD \
--name application \
--artifact-path target/*.jar
Jika Mengalami kegagalan, Anda dapat melihat log aplikasi dengan mengetik perintah berikut:
az spring app logs \
--resource-group $AZ_RESOURCE_GROUP \
--service $AZ_SPRING_CLOUD \
--name application
Aplikasi sekarang tersedia di cloud, dan Anda dapat mengakses datanya menggunakan perintah cURL:
curl https://$AZ_SPRING_CLOUD-application.azuremicroservices.io
Selamat, Anda berhasil membuat aplikasi Zero Trust Java yang menggunakan Azure Key Vault untuk menyimpan rahasia.