首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法读取地下室的秘密-使用Vault Sidecar喷射器

无法读取地下室的秘密-使用Vault Sidecar喷射器
EN

Stack Overflow用户
提问于 2020-07-15 04:04:00
回答 1查看 603关注 0票数 1

使用下面的安装程序无法读取存储在path / below /apims/ABC_CONFIG中的秘密

在Vault制定的政策:

代码语言:javascript
运行
复制
  vault policy write policy_name - <<EOF
    path "secret/apims/*" {
      capabilities = ["read"]
    }

在Vault中创建的角色

代码语言:javascript
运行
复制
vault write auth/kubernetes/role/role_name\
    bound_service_account_names=service_account_name \
    bound_service_account_namespaces=default \
    policies=policy_name \
    ttl=24h

使用Kubernetes保险库侧射器在外部保险库上方。在Kubernetes上的部署看起来像

代码语言:javascript
运行
复制
apiVersion: "apps/v1"
kind: "Deployment"
metadata:
  name: "nginx-5"
  namespace: "default"
  labels:
    app: "nginx-5"
spec:
  replicas: 1
  selector:
    matchLabels:
      app: "nginx-5"
  template:
    metadata:
      annotations: 
        vault.hashicorp.com/agent-inject: "true"
        vault.hashicorp.com/agent-inject-secret-credentials.conf: secret/ABC_CONFIG
        vault.hashicorp.com/role: role_name
      labels:
        app: "nginx-5"
    spec:
      containers:
      - name: "nginx-5"
        image: "nginx:latest"
      serviceAccountName: service_account_name

尽管Kubernetes成功地获得了Vault的授权,但403无法读取特定的密钥。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-15 04:38:33

看起来,在Vault角色中定义的服务帐户或角色名称都与部署中的角色不匹配。

service_account_name

  • Role = role_name

代码语言:javascript
运行
复制
vault write auth/kubernetes/role/role_name\
    bound_service_account_names=service_account_name \
    bound_service_account_namespaces=default \
    policies=policy_name \
    ttl=24h

sa-vault-auth

  • Role = apims

代码语言:javascript
运行
复制
spec:
  replicas: 1
  selector:
    matchLabels:
      app: "nginx-5"
  template:
    metadata:
      annotations: 
        vault.hashicorp.com/agent-inject: "true"
        vault.hashicorp.com/agent-inject-secret-credentials.conf: secret/ABC_CONFIG
        vault.hashicorp.com/role: apims 
      labels:
        app: "nginx-5"
    spec:
      containers:
      - name: "nginx-5"
        image: "nginx:latest"
      serviceAccountName: sa-vault-auth 
...

这也是假设policies=policy_name是您最初在Vault中创建的策略的名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62907414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档