Kubernetes 无法读取保险库机密-使用保险库侧车注入器
无法使用以下设置读取路径/secrets/apims/ABC_CONFIG处存储在Vault中的机密 在Vault中创建的策略:Kubernetes 无法读取保险库机密-使用保险库侧车注入器,kubernetes,google-kubernetes-engine,hashicorp-vault,Kubernetes,Google Kubernetes Engine,Hashicorp Vault,无法使用以下设置读取路径/secrets/apims/ABC_CONFIG处存储在Vault中的机密 在Vault中创建的策略: vault policy write policy_name - <<EOF path "secret/apims/*" { capabilities = ["read"] } 在外部拱顶上使用Kubernetes拱顶侧车注入器。Kubernetes上的部署看起来像 apiVersi
vault policy write policy_name - <<EOF
path "secret/apims/*" {
capabilities = ["read"]
}
在外部拱顶上使用Kubernetes拱顶侧车注入器。Kubernetes上的部署看起来像
apiVersion:“应用程序/v1”
种类:“部署”
元数据:
名称:“nginx-5”
名称空间:“默认”
标签:
应用程序:“nginx-5”
规格:
副本:1份
选择器:
火柴标签:
应用程序:“nginx-5”
模板:
元数据:
注释:
vault.hashicorp.com/agent-inject:“true”
vault.hashicorp.com/agent-inject-secret-credentials.conf:secret/ABC_CONFIG
vault.hashicorp.com/role:role\u name
标签:
应用程序:“nginx-5”
规格:
容器:
-名称:“nginx-5”
图片:“nginx:最新版本”
serviceAccountName:服务\u帐户\u名称
虽然Kubernetes通过Vault成功获得授权,但读取特定密钥失败,返回403
感谢您的帮助。看起来Vault角色中定义的服务帐户或角色名称与部署中的名称都不匹配
- 服务帐户=服务帐户名称
- 角色=角色名称
- 服务帐户=sa vault验证
- 角色=apims
spec:
副本:1份
选择器:
火柴标签:
应用程序:“nginx-5”
模板:
元数据:
注释:
vault.hashicorp.com/agent-inject:“true”
vault.hashicorp.com/agent-inject-secret-credentials.conf:secret/ABC_CONFIG
vault.hashicorp.com/role:apims我错了,忘了删除kubernetes部署文件的更改名称,但我在所有位置使用相同的角色/策略和serviceAccount。仍然是同样的错误。我也会更新这个问题,谢谢。你有没有发现其他可能引起问题的东西?我没有,一定是名字不匹配。
vault write auth/kubernetes/role/role_name\
bound_service_account_names=service_account_name \
bound_service_account_namespaces=default \
policies=policy_name \
ttl=24h
vault write auth/kubernetes/role/role_name\
bound_service_account_names=service_account_name \
bound_service_account_namespaces=default \
policies=policy_name \
ttl=24h