0

나는 두 가지 구성 서버와 microservices 실행하고 있습니다 : (자식 백엔드)보관 봄 클라우드 볼트 토큰

  • 봄 클라우드 구성
  • 봄 클라우드 볼트를

내가 저장 한 Spring Cloud Config 서버의 Vault 토큰. 마이크로 서비스를 시작할 때 다음과 같이 기대합니다 :

  1. Vault 토큰을 포함하여 Spring Cloud Config에 저장된 구성을 검색합니다.
  2. Vault 토큰을 사용하여 Spring Cloud Vault에 연결 한 다음 Spring Cloud Vault에 저장된 구성을 검색한다.

bootstrap.properties :

spring.application.name=my-app 
spring.cloud.config.uri=http://localhost:8888 

봄 클라우드 구성 서버 :

spring.cloud.vault.token=19aefa97-cccc-bbbb-aaaa-225940e63d76 

그러나, 나는 있어야합니다 spring.cloud.vault.token 말하는 예외를했다.

Caused by: java.lang.IllegalArgumentException: Token (spring.cloud.vault.token) must not be empty 
    at org.springframework.util.Assert.hasText(Assert.java:181) 
    at org.springframework.cloud.vault.config.VaultBootstrapConfiguration.clientAuthentication(VaultBootstrapConfiguration.java:270) 
    at org.springframework.cloud.vault.config.VaultBootstrapConfiguration$$EnhancerBySpringCGLIB$$473cc7b3.CGLIB$clientAuthentication$7(<generated>) 
    at org.springframework.cloud.vault.config.VaultBootstrapConfiguration$$EnhancerBySpringCGLIB$$473cc7b3$$FastClassBySpringCGLIB$$5f991c47.invoke(<generated>) 
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) 
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358) 
    at org.springframework.cloud.vault.config.VaultBootstrapConfiguration$$EnhancerBySpringCGLIB$$473cc7b3.clientAuthentication(<generated>) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) 
    ... 88 common frames omitted 

질문 : 나중에 봄 클라우드 볼트에 액세스 할 수있는 microservice 위해 봄 클라우드 구성에 볼트 토큰을 저장하는 유효한 사용 사례

  1. 인가?

  2. 예인 경우 속성 검색 순서를 설정해야합니까? 나는. Spring Cloud Vault 용 spring.cloud.vault.config.order을 설정하십시오. Spring Cloud Config에 해당하는 매개 변수가 있습니까? 이 볼트 토큰 사용의 유효한 경우가 여기에 있지처럼

답변

1
  1. 것 같습니다. 문서에 따르면 Spring Cloud Config Client는 Vault에서 값을 검색하기 위해 서버에 토큰을 제공해야합니다 (Spring Cloud Config - Vault). 구성 서버에서는 git repos 및 Vault 서버에 구성을 제공하기 만하면됩니다. Git repos에서와 같이 Vault에서 모든 구성을 가져 오지 않습니다. 적절한 Vault 토큰을 갖게 될 구성 클라이언트의 요청에 따라 중요한 속성을 검색합니다.

  2. 예,

내가 this StackOverflow question에서 구성을 사용

spring: 
    profiles: 
    active: vault, git 
    cloud: 
    config: 
     server: 
     vault: 
      order: 1 
     git: 
      order: 2 
      uri: https://some-git-repo.com/ 
      username: user 
      password: pass 

, 그것은 나에게 도움과 잘 작동 순서 속성이 있습니다.

관련 문제