如何在kubernetes中访问hashi corp vault secret



嗨,我已经在我的哈希公司地下室添加了秘密在下面的路径

cep-kv/dev/sqlpassword

我试图访问secret在我的清单如下

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.nnURL: GET https://vaultnet/v1/cep-kv/dev/sqlpassword?version=-1nCode: 403. Errors:nn* 1 error occurred:nt* permission deniednn" app=vault-env

我要访问的路径是否正确:

库:cep-kv/dev/sqlpassword # sqlpassword

我试过下面的路径了

value: vault:cep-kv/dev/sqlpassword

表示在各自的路径中没有找到秘密。谁能帮我从哈希公司的保险库里拿到秘密。任何帮助都会很感激。由于

当您获得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"] } 
    

要了解更多信息,请参见配置,这是一个解释在kubernetes中使用秘密的博客。

最新更新