[英]Configuring Spring Cloud Config Server and Spring Cloud Vault for production
[英]Using Microservice AppRole to Spring Cloud Config Server and Vault integration
如何将带有 AppRole [in vault] 的微服务连接到带有 Vault 后端的 Spring 云配置服务器。
我可以看到使用根令牌的示例,例如 curl -X GET http://localhost:8888/my-service/default -H "X-Config-Token: s.TmqaRA2lASdNhJZqqZy7y8pX"。 但我找不到任何使用 approle 连接 spring 云配置服务的示例。
但我不想将根令牌从微服务传递到 spring 云配置服务器,而是每个服务都定义了应用角色,应该能够连接 spring 云配置,然后连接到 Vault 并获取数据。
使用 Spring 云配置服务器作为中央配置代理时,我遇到了同样的问题。
我发现以下GitHub 问题提供了解决方案。 简而言之,您必须将 spring-vault-core 依赖项添加到您的依赖项中,以便为 AppRole 身份验证添加有效的令牌解析器:
Maven:
<dependency>
<groupId>org.springframework.vault</groupId>
<artifactId>spring-vault-core</artifactId>
</dependency>
Gradle:
implementation "org.springframework.vault:spring-vault-core"
这应该可以直接解决问题。 当然,下面的配置必须下注设置:
spring:
cloud:
config:
server:
vault:
port: 443
host: myvault.domain.com
scheme: https
backend: mybackend
kv-version: 2 #required if secrets engine version is v2 (default: v1/1)
timeout: 5 #seconds
authentication: APPROLE
app-role:
secret-id: 1234567-234567-23456-12341
role-id: 987654-3456-9865-1235
role: my-role-name #optional
app-role-path: approle #optional if non default (default: approle)
添加依赖、配置并启动服务后,出现以下日志消息:
2021-04-30 12:40:31.211 INFO 53327 --- [nio-8888-exec-2] osvaLifecycleAwareSessionManager:调度令牌更新
然后不再需要X-Config-Token
header。
有关 Vault 设置的更多信息,请访问:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.