当前位置: 首页 > news >正文

自动化运维-ansible中的管理机密

自动化运维-ansible中的管理机密

一、Ansible Vault

在自动化配置管理中,直接以纯文本形式存储密码、API密钥、证书等敏感信息是极大的安全漏洞。Ansible Vault 正是为了解决这一问题而设计的核心功能

Ansible Vault 是 Ansible 的一个核心功能,它允许用户加密任何由 Ansible 使用的结构化数据文件(通常是 YAML 格式)。这可能包括清单变量、playbook中含有的变量文件、在执行playbook时作为参数传递的变量文件,或者ansible角色中定义的变量。

二、如何使用 ansible-vault 命令行工具?

ansible-vault 是创建、编辑、加密、解密和查看文件的主要工具,是一种命令行工具

命令用途示例
create创建新的加密文件,默认使用vi编辑ansible-vault create test.yml
view查看一个加密文件的内容,但不打开编辑器。ansible-vault view test.yml
edit编辑一个已加密的文件。会解密到临时文件,编辑保存后重新加密。ansible-vault edit test.yml
encrypt加密一个现有的文件。ansible-vault encrypt test.yml
decrypt解密现有的文件ansible-vault decrypt test.yml --output=a-secret.yml
rekey更改加密文件的密码或密钥文件。ansible-vault rekey test.yml
-ask-vault-pass使用加密后的文件ansible-playbook test.yml --ask-vault-pass

运行任何 ansible-vault 命令或运行使用加密变量的 playbook 时,都需要提供解密密码

可以将将密码单独存储在一个权限严格控制的纯文本文件中(如 .vault_pass.txt)

使用 --vault-password-file--vault-id 参数指定该文件来适用于自动化

三、使用示例

  1. 创建加密文件

    加密后,直接使用会报错

    [student@master ansible] ansible-vault create test.yml
    New Vault password: 
    Confirm New Vault password: [student@master ansible] ansible-playbook test.yml 
    

    在这里插入图片描述

  2. 查看加密文件

    [student@master ansible] ansible-vault view test.yml
    Vault password:
    

    在这里插入图片描述

  3. 编辑加密文件

    [student@master ansible] ansible-vault edit test.yml 
    Vault password: 
    

    在这里插入图片描述

  4. 加密现有文件

    [student@master ansible] ansible-vault encrypt test1.yml 
    New Vault password: 
    Confirm New Vault password: 
    

    在这里插入图片描述

  5. 解密现有文件

    [student@master ansible] ansible-vault decrypt test1.yml 
    Vault password: 
    Decryption successful
    

    在这里插入图片描述

  6. 更改加密文件密码

    [student@master ansible]$ ansible-vault rekey test.yml 
    Vault password: 
    New Vault password: 
    Confirm New Vault password: 
    Rekey successful
    

    在这里插入图片描述

  7. 使用加密后的文件

    [student@master ansible] ansible-playbook test.yml --ask-vault-pass
    Vault password: 
    

    在这里插入图片描述

  8. 使用密码本创建并使用加密文件

    [student@master ansible] vim .vault_pass.txt
    [student@master ansible] chmod 600 .vault_pass.txt
    [student@master ansible] ansible-vault create test2.yml --vault-id .vault_pass.txt
    [student@master ansible] ansible-playbook test2.yml --vault-id .vault_pass.txt
    

    在这里插入图片描述

http://www.dtcms.com/a/361848.html

相关文章:

  • Ansible之playbook剧本
  • Docker镜像安全守护神HarborGuard
  • Shell编程入门指南
  • apollo学习之纳什均衡求解最优策略
  • MySQL 中 InnoDB 引擎的事务隔离级别与“可重复读”隔离级别下的 SQL 编写规范
  • 2025 中国算力大会精彩回顾:算力驱动未来,液冷引领革新
  • 从 Oracle 到 TiDB,通过ETL工具,高效实现数据拉通
  • HarvardX TinyML小笔记2(番外3:数据工程)(TODO)
  • 【C++游记】AVL树
  • 通过 select into outfile / load data infile 进行数据导入导出学习笔记
  • 【网络安全入门基础教程】网络安全就业方向(非常详细)零基础入门到精通,收藏这篇就够了
  • three.js+WebGL踩坑经验合集(10.2):镜像问题又一坑——THREE.InstancedMesh的正反面向光问题
  • 亥姆霍兹线圈和放载流线圈
  • 【SpreadJS V18.2 新特性】Table 与 DataTable 双向转换功能详解
  • SD卡自动检测与挂载脚本
  • React 第七十一节 Router中generatePath的使用详解及注意事项
  • table表格字段明细展示
  • 【前端教程】ES6 Promise 实战教程:从基础到游戏案例
  • django的URL路由配置常用方式
  • C# Task 入门:让你的程序告别卡顿
  • 基于STM32单片机的无线鼠标设计
  • 【ComfyUI】图像反推描述词总结
  • 杰理ac791无法控制io脚原因
  • 【算法】算法题核心类别与通用解题思路
  • 时序数据库IoTDB:为何成为工业数据管理新宠?
  • 【frontend】w3c的发展历史ToDo
  • accelerate、trainer、lightning还是pytorch?
  • SpringBoot 分库分表 - 实现、配置与优化
  • 雅思听力第四课:配对题核心技巧与词汇深化
  • CLion编译基于WSL平台Ubuntu系统的ros项目