ansible加密敏感数据

1.加密类型

encrypt(加密)、decrypt(解密)、view(查看),rekey(重置密码)
 

 2.加密敏感数据

 案例

echo 123456 > data.txt               #新建测试文件
ansible-vault encrypt data.txt       #加密文件
cat data.txt
ansible-vault view data.txt          #查看加密文件

3.修改密码(rekey)

案例

//验证剧本

4.解密文件

 案例

ansible-vault decrypt data.txt      #解密文件
cat data.txt

5.使用密码文件

 加密、解密每次都输入密码很麻烦,可以将密码写入文件

echo "I'm secret data" > data.txt       #需要加密的敏感数据
echo 123456 > pass.txt                   #加密的密码
ansible-vault  encrypt --vault-id=pass.txt  data.txt 
cat data.txt
ansible-vault decrypt --vault-id=pass.txt data.txt
cat data.txt

6.ansible使用密码真实案例

创建保险库钥匙文件
echo 'kali_yao' > secret.txt
创建保险库文件
ansible-vault create passdb.yml --vault-password-file=secret.txt
pw_dev: yao123
pw_man: kali123




vim name_list.yml
users:
- name: tom          #用户岗位 a
    job: dev        
- name: jerry        #用户岗位 b
    job: man

vim users.yml
- name: batch users
hosts: test,webtest,web
vars_files:
    - passdb.yml        //加载密码变量
    - name_list.yml     //加载用户名变量

tasks:
        - group: 
                name: kali   //确保补充组 1 在指定主机已存在
        - group: 
                name: yao    //确保补充组 2 在指定主机已存在

        - user: 
             name: {{item.name}} 
             password: {{pw_dev|password_hash('sha512')}} groups=kali
          when: (item.job == 'dev') and ('test' in group_names or 'webtest' in group_names)
          loop: "{{users}}"       //按条件添加 a 岗用户

        - user: 
              name: {{item.name}} 
              password:{{pw_man|password_hash('sha512')}} 
              groups: yao
           when: (item.job == 'man') and ('web' in group_names)
           loop: "{{users}}"      //按条件添加 b 岗用户

ansible-playbook    users.yml  --vault-password-file=/home/alice/ansible/secret.txt  //验证剧本

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值