แบบฝึกหัด - รักษาความปลอดภัยแอปพลิเคชัน Java จากมุมมองนักพัฒนา Java

เสร็จสมบูรณ์เมื่อ

ในหน่วยนี้ คุณกําหนดค่าแอปพลิเคชัน Spring Boot ที่มีอยู่เพื่อใช้ข้อมูลลับที่จัดเก็บไว้ใน Azure Key Vault

คุณรับบทบาทของนักพัฒนา Java ที่กําหนดค่าโครงการของตนเพื่ออ่านความลับเหล่านั้น

การกําหนดค่าโครงการ Java

Azure Spring Boot starter สําหรับ Key Vault ทําให้การใช้งาน Key Vault Java SDK สําหรับนักพัฒนาสปริงบูตเป็นไปโดยอัตโนมัติ

ในส่วนก่อนหน้านี้ เราได้เพิ่มตัวแปรสภาพแวดล้อมสองรายการโดยใช้ Azure CLI: AZURE_KEYVAULT_ENABLEDและ AZURE_KEYVAULT_URI Spring Boot อ่านตัวแปรสภาพแวดล้อมเหล่านี้และใช้เพื่อรับรองความถูกต้องในชุดเก็บคีย์ของ Azure โดยใช้ใต้ Java SDK สําหรับ Key Vault

หากต้องการเพิ่มการสนับสนุนสําหรับ Azure Spring Boot starter สําหรับ Key Vault ให้เพิ่มการขึ้นต่อกันต่อไปนี้ในไฟล์ pom.xml ของแอปพลิเคชัน:

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

เมื่อเราสร้างโครงการ Java เราได้กําหนดชื่อฐานข้อมูลและรหัสผ่านที่ตายตัวลงในไฟล์ src/main/resources/application.properties ตรวจสอบให้แน่ใจว่าได้แปลงกลับเป็นเวอร์ชันนี้ ซึ่งใช้ตัวแปรที่ได้รับมาจาก 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

เมื่อมีการเปลี่ยนแปลงนั้น รหัสแหล่งที่มาของแอปพลิเคชันของคุณไม่มีข้อมูลลับใด ๆ และได้รับจากอินสแตนซ์ Azure Key Vault ที่เรากําหนดค่าไว้ในส่วนก่อนหน้า

ปรับใช้แอปพลิเคชัน Java กับ Azure

เช่นเดียวกับในหน่วยก่อนหน้า หากต้องการปรับใช้แอปพลิเคชัน ก่อนอื่นคุณต้องจัดแพคเกจเป็นไฟล์ Jar:

./mvnw clean package

จากนั้นปรับใช้โดยใช้ Azure CLI คําสั่งนี้อาจใช้เวลาหลายนาทีในการใช้งาน

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

ถ้าคุณพบความล้มเหลว คุณสามารถดูบันทึกของแอปพลิเคชัน โดยการพิมพ์คําสั่งต่อไปนี้:

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

แอปพลิเคชันพร้อมใช้งานในระบบคลาวด์และคุณสามารถเข้าถึงข้อมูลได้โดยใช้คําสั่ง cURL:

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

ขอแสดงความยินดี คุณได้สร้างแอปพลิเคชัน Zero Trust Java ที่ใช้ Azure Key Vault เพื่อจัดเก็บความลับ