【问题标题】:How to access hashi corp vault secret in kubernetes如何在 kubernetes 中访问 hashicorp 保险库秘密
【发布时间】:2022-12-04 14:30:10
【问题描述】:

您好,我在以下路径的 hashicorp 保险库中添加了秘密

cep-kv/dev/sql密码

我正在尝试访问清单中的秘密,如下所示

spec:
      serviceAccountName: default
      containers: # List
        - name: cep-container
          image: myinage:latest
          env:
          - name: AppSettings__Key
            value: vault:cep-kv/dev/sqlpassword#sqlpassword

这是下面的错误

failed to inject secrets from vault: failed to read secret from path: cep-kv/dev/sqlpassword: Error making API request.\n\nURL: GET https://vaultnet/v1/cep-kv/dev/sqlpassword?version=-1\nCode: 403. Errors:\n\n* 1 error occurred:\n\t* permission denied\n\n" app=vault-env

我尝试访问的路径是否是正确的值:

保险库:cep-kv/dev/sqlpassword#sqlpassword

我也尝试过以下路径

value: vault:cep-kv/dev/sqlpassword

这表示在各自的路径中找不到秘密。谁能帮我从 hashi corp 金库中获取秘密。任何帮助,将不胜感激。谢谢

【问题讨论】:

    标签: kubernetes hashicorp-vault


    【解决方案1】:

    当您获得 403 权限时,您需要配置 Kubernetes 身份验证,您可以从以下步骤配置身份验证:

    1. 启用 Kubernetes 身份验证方法:

      vault enable auth kubernetes

      1. 配置 Kubernetes 身份验证方法以使用 Kubernetes API 的位置
      vault write auth/kubernetes/config 
        kubernetes_host=https://192.168.99.100:<your TCP port or blank for 443>
      
      1. 创建命名角色:

        vault write auth/kubernetes/role/demo 
                     bound_service_account_names=myapp 
                         bound_service_account_namespaces=default 
                         policies=default 
                     ttl=1h
        
      2. 写出“myapp”策略,为路径中的秘密启用“读取”功能。

        vault policy write myapp -path "yourpath"                                                  
        {  capabilities = ["read"] } 
        

      欲了解更多信息,请关注Configuration,这是一个blog,解释了 kubernetes 中秘密的用法。

    【讨论】:

    • 为什么不使用 Vault Operator 同步到原生 Kubernetes Secret?
    猜你喜欢
    • 2022-08-08
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    • 2023-03-02
    • 2020-01-06
    • 2020-12-16
    • 1970-01-01
    相关资源
    最近更新 更多