Прежде всего, вы должны включить "zalando / spring-cloud-config-aws-kms" зависимость от вашего проекта, для более подробной информации о проекте проверьте эту ссылку : "https://github.com/zalando/spring-cloud-config-aws-kms"
Вы должны быть осторожны при выборе версий, например, если вы используете Spring Cloud Greenwich + Spring Boot 2.1 зависимость zalando версия должна быть 4.1
Теперь предположим, что ваш проект весенней загрузки - это проект maven, тогда у вас должно быть что-то вроде этого:
<dependency>
<groupId>org.zalando</groupId>
<artifactId>spring-cloud-config-aws-kms</artifactId>
<version>4.1</version>
</dependency>
Во-вторых, значение вашего зашифрованного пароля в application.properties должно начинаться с {cipher}
, например (приведенный ниже шифр недействителен):
DataBase.Password = {cipher}UmjDPAmJr78ypSphQycO9DAQECAHgC4i08YQPW
Наконец, поскольку у вас есть spring-cloud-config-aws-kms в вашем классе проектаPath, вам нужно только ввести значение вашего зашифрованного пароля в ваши классы, когда это необходимо через аннотацию @Value
, например:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class Example {
//reads the encrypted password, decrypts it
// and injects it in the field DataBasePassword
@Value("${DataBase.Password}")
private String DataBasePassword;
@RequestMapping("/")
public String decryptPassword() {
return DataBasePassword;
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
Запустите это приложение Spring-Boot, откройте браузер и введите URL "http://localhost:8080/", чтобы увидеть результат.
Этот ответ вдохновлен этим проектом "https://github.com/kinow/spring-boot-aws-kms-configuration". Надеюсь, что это будет полезно:)