我正在使用 spring Vault 从运行在 Kubernetes 中的 Spring Boot 应用程序访问 Vault。
版本
<dependency>
<groupId>org.springframework.vault</groupId>
<artifactId>spring-vault-core</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
配置
vault:
uri: https://xxx.xxx.com:8200
authentication: KUBERNETES
kubernetes:
role: abc
kubernetes-path: path/to/k8s
service_account_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
错误
o.s.v.a.VaultLoginException: Cannot login using Kubernetes: invalid role name \"abc\";
当我尝试使用具有相同角色和令牌的 curl 登录时,它的成功:
VAULT_LOGIN="{\"role\":\"$SA_ROLE\", \"jwt\":\"$SA_JWT_TOKEN\"}"
curl --request POST --data "$VAULT_LOGIN" https://xxx.xxx.com:8200/v1/auth/path/to/k8s/login