Spring Vault を使用して、Kubernetes で実行されている Spring ブート アプリから 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