Hashicorp Vault Kubernetes 身份验证方法的自定义路径无法使用 CLI
Custom path for Hashicorp Vault Kubernetes Auth Method does not work uisng CLI
当我在默认路径 (-path=kubernetes) 中启用 kubernetes 身份验证方法时,它会起作用。但是,如果它在自定义路径中启用,则 vault init 和 sidecar 容器不会启动。
kubernetes 身份验证方法在 auth/prod
启用
vault auth enable -path=prod/ kubernetes
vault write auth/prod/config \
kubernetes_host="https://$KUBERNETES_PORT_443_TCP_ADDR:443" \
token_reviewer_jwt="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
vault write auth/prod/role/internal-app \
bound_service_account_names=internal-app \
bound_service_account_namespaces=default \
policies=internal-app \
ttl=24h
这些身份验证配置可能有什么问题?
不确定您是如何部署保管库的,但是您的注入器是否正确
injector:
enabled: true
vault 将注入 sidecar 和 init 容器。您应该检查失败的 side car 或 init container 的日志。
如果您使用 K8s 方法进行身份验证,您应该查看下面的注释示例并使用它们
annotations:
vault.hashicorp.com/agent-image: registry.gitlab.com/XXXXXXXXXXX/vault-image/vault:1.4.1
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/agent-inject-secret-secrets: kv/secret-path-location
vault.hashicorp.com/auth-path: auth/<K8s-cluster-auth-name>
vault.hashicorp.com/role: app
您可以为不同的 K8s 集群保留多个 auth-path 以使用单个 vault 实例进行身份验证。
如果 vault 正在注入 sidecar,您应该检查它的日志。
https://www.hashicorp.com/blog/injecting-vault-secrets-into-kubernetes-pods-via-a-sidecar
当我在默认路径 (-path=kubernetes) 中启用 kubernetes 身份验证方法时,它会起作用。但是,如果它在自定义路径中启用,则 vault init 和 sidecar 容器不会启动。
kubernetes 身份验证方法在 auth/prod
启用vault auth enable -path=prod/ kubernetes
vault write auth/prod/config \
kubernetes_host="https://$KUBERNETES_PORT_443_TCP_ADDR:443" \
token_reviewer_jwt="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
vault write auth/prod/role/internal-app \
bound_service_account_names=internal-app \
bound_service_account_namespaces=default \
policies=internal-app \
ttl=24h
这些身份验证配置可能有什么问题?
不确定您是如何部署保管库的,但是您的注入器是否正确
injector:
enabled: true
vault 将注入 sidecar 和 init 容器。您应该检查失败的 side car 或 init container 的日志。
如果您使用 K8s 方法进行身份验证,您应该查看下面的注释示例并使用它们
annotations:
vault.hashicorp.com/agent-image: registry.gitlab.com/XXXXXXXXXXX/vault-image/vault:1.4.1
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/agent-inject-secret-secrets: kv/secret-path-location
vault.hashicorp.com/auth-path: auth/<K8s-cluster-auth-name>
vault.hashicorp.com/role: app
您可以为不同的 K8s 集群保留多个 auth-path 以使用单个 vault 实例进行身份验证。
如果 vault 正在注入 sidecar,您应该检查它的日志。
https://www.hashicorp.com/blog/injecting-vault-secrets-into-kubernetes-pods-via-a-sidecar