Ćwiczenie — zabezpieczanie aplikacji Java z perspektywy dewelopera języka Java
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_ENABLED
i 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.