vault kv创建使用方法

本文介绍了如何使用AppRole进行认证以访问和管理Vault中的secretkv。首先,文章详细阐述了Vault的安装和初始化过程,然后讲解了启用KV引擎和AppRole认证的方法。接着,创建并配置了名为k8s-policy的policy以及k8s-role的role,并关联了相应的权限。特别强调了路径匹配规则和避免在路径末尾添加/的重要性。最后,文章演示了如何获取role_id和secret_id以生成token,从而访问被授权的资源。
摘要由CSDN通过智能技术生成

概述

本文主要介绍使用approle的Authentication方式,认证secre kv,及注意事项。

安装及使用方法

  1. 安装方式参考官方文档

  2. 正式环境启动使用 vault server -config=config.hcl或者systemctl start vault;

  3. 然后按照如下步骤进行初始化:

     export VAULT_ADDR='http://127.0.0.1:8200'
     vault operator init
    
  4. unseal key
    vault operator unseal
    关于seal和unseal的概念,请参考官方文档

  5. Enable kv engine
    vault secrets enable -path=secret kv
    所有的kv将存储在secret类型的path下面

  6. Enable approle
    vault auth enable approle

  7. 写入kv数据
    官方文档介绍入下:
    The path-like KV-v1 syntax for referencing a secret (secret/foo) can still be used in KV-v2, but we recommend using the -mount=secret flag syntax to avoid mistaking it for the actual path to the secret (secret/data/foo is the real path).
    由于使用的是KV-v2,所以创建kv时,建议使用新语法加上-mount=secret 来避免不必要的麻烦,因为v2版本中,secret后面要加上path,如下所示:
    vault kv put -mount=secret k8s/k8s-sit robof=beepboopffaf
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/3a207b31ab734377b9bc0ea7ba4d1564.png

  8. 创建名字为k8s-policy的policy

    	vault policy write k8s-policy - << EOF
    	path "secret/data/*" {
    	  capabilities = ["create", "update"]
    	}
    	
    	path "secret/data/k8s/*" {
    	  capabilities = ["read"]
    	}
    	EOF
    

    此处需要特别注意的是里面的path,不管是完全匹配,或者是使用通配符,最后一级path后面不能再加上/,最后一级path后面就是kv值了,如果加上/,会匹配不到,报权限不够的错误,关于此处匹配的使用详情,可参考官方文档
    在这里插入图片描述

  9. 创建名字为k8s-role的role,并关联上述k8s-policy

    vault write auth/approle/role/k8s-role \
     secret_id_ttl=100h \
     token_num_uses=10000 \
     token_ttl=200h \
     token_max_ttl=300h \
     secret_id_num_uses=40000 \
     token_policies=k8s-policy
    

    关于此处的一些参数解释,可点击此处参考官方文档。

  10. 获取role_id和secret_id,如下:

    export ROLE_ID="$(vault read -field=role_id auth/approle/role/k8s-role/role-id)" 
    export SECRET_ID="$(vault write -f -field=secret_id auth/approle/role/k8s-role/secret-id)"
    
  11. 生成token
    vault write auth/approle/login role_id="$ROLE_ID" secret_id="$SECRET_ID"
    此时用获取的token既可以访问policy中设置的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值