Упражнение. Защита приложения Java с точки зрения разработчика Java
В этом уроке вы настроите существующее приложение Spring Boot для использования секретов, хранящихся в Azure Key Vault.
Вы принимаете роль разработчика Java, который настраивает свой проект для чтения этих секретов.
Настройка проекта Java
Начальный пакет Azure Spring Boot для Key Vault автоматизирует использование пакета SDK Java для Key Vault для разработчиков Spring Boot.
В предыдущем разделе мы добавили две переменные среды с помощью Azure CLI: AZURE_KEYVAULT_ENABLED
и AZURE_KEYVAULT_URI
.
Spring Boot считывает эти переменные среды и использует их для проверки подлинности в Azure Key Vault, используя пакет SDK Java для Key Vault.
Чтобы добавить поддержку начального пакета Azure Spring Boot для 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
Поздравляем, вы успешно создали приложение Java нулевого доверия, которое использует Azure Key Vault для хранения секретов.