Ćwiczenie — zabezpieczanie aplikacji Java z perspektywy dewelopera języka Java

Ukończone

W tej lekcji skonfigurujesz istniejącą aplikację Spring Boot tak, aby korzystała z wpisów tajnych przechowywanych w usłudze Azure Key Vault.

Pełnisz rolę dewelopera języka Java, który konfiguruje swój projekt w celu odczytania tych wpisów tajnych.

Konfigurowanie projektu Java

Szablon startowy usługi Azure Spring Boot dla usługi Key Vault automatyzuje użycie zestawu JAVA SDK usługi Key Vault dla deweloperów platformy Spring Boot.

W poprzedniej sekcji dodaliśmy dwie zmienne środowiskowe przy użyciu interfejsu wiersza polecenia platformy Azure: AZURE_KEYVAULT_ENABLEDi AZURE_KEYVAULT_URI. Platforma Spring Boot odczytuje te zmienne środowiskowe i używa ich do uwierzytelniania w usłudze Azure Key Vault przy użyciu zestawu SDK języka Java dla usługi Key Vault.

Aby dodać obsługę szablonu startowego usługi Azure Spring Boot dla usługi Key Vault, dodaj następującą zależność w pliku aplikacji pom.xml :

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

Podczas tworzenia projektu w języku Java nazwa bazy danych i hasło zostały zakodowane w src/main/resources/application.properties pliku. Pamiętaj, aby przywrócić ją do tej wersji, która używa zmiennych udostępnianych przez usługę 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

Dzięki tej zmianie kod źródłowy aplikacji nie zawiera żadnych wpisów tajnych i pobiera je z wystąpienia usługi Azure Key Vault skonfigurowanego w poprzedniej sekcji.

Wdrażanie aplikacji Java na platformie Azure

Podobnie jak w poprzedniej lekcji, aby wdrożyć aplikację, najpierw musisz spakować ją jako plik Jar:

./mvnw clean package

Następnie wdróż go przy użyciu interfejsu wiersza polecenia platformy Azure. Uruchomienie tego polecenia może potrwać kilka minut.

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

Jeśli wystąpią błędy, możesz przejrzeć dzienniki aplikacji, wpisując następujące polecenie:

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

Aplikacja jest teraz dostępna w chmurze i możesz uzyskać dostęp do jej danych za pomocą polecenia cURL:

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

Gratulacje, pomyślnie utworzono aplikację Java Zero Trust, która używa usługi Azure Key Vault do przechowywania wpisów tajnych.