ansible可能需要访问密码或API密钥等敏感数据,以便能配置受管主机。通常,此信息可能以纯文本形式存储在清单变量或其他Ansible文件中。但若如此,任何有权访问Ansible文件的用户或存储,这些Ansible文件的版本控制系统都能够访问此敏感数据。这存在安全风险。

	使用Ansible随附的Ansible Vault可以加密和解密任何由Ansible使用的结构化数据文件。若要使用AnsibleVault,可通过一个名为ansible-vault 的命令行工具创建、编辑、加密、解密和查看文件。Ansible Vault可以加密任何由Ansible使用的结构化数据文件。这可能包括清单变量、playbook中含有的变量文件、在执行playbook时作为参数传遇的变量文件,或者Anslble 角色中定义的变量。

环境:

受控主机清单文件:

[dev]

192.168.10.129

[all:vars]

ansible_ssh_user=root

ansible_ssh_pass=123

基本配置:

定义一个存放变量的文件:

yml文件:

调用变量

运行结果:

存在安全风险!!

创建加密文件:

要创建新的加密文件,可使用ansible-vault create filename命令。该命令

将提示输入新的Vaul密码,然后利用默认编辑器vi打开文件。可以使用vault

密码文件来存储vault密码,而不是通过标准输入途径输入vault密码。您可能

需要用文件权限和其他方式来严密保护该文件。

使用ansible-vault create vars.txt 命令,会要求输入密码进入vim编辑器进行编辑

pkg_name: httpd 加密的数据

使用cat命令查看文件时,会显示加密后的数据,保证了数据的安全性

修改yml文件,调用加密后的存放变量的文件

要运行可访问通过Ansible Vault加密的文件的playbook,需要ansible-playbook命令提供加密密码。如果不提供密码,playbook将返回错误,要为playbook提供vault密码,可使用--vault-id选项。例如,要以交互方式提供vault密码,请使用--vault-id @prompt。敏感的playbook变量可以放在单独的文件中,此文件通过AnsibleVault加密,并通过vars_files指令包含在该playbook中。

习惯使用ansible-playbook file.yml --ask-vault-pass这种方式,然后输入密码

也可以在ansible.cfg配置文件中使用vault_password_file指定密码文件,避免多次输入密码,后续可以直接执行ansible-playbook file.tml运行剧本。

vault_password_file=用于存放密码文件的路径

后续运行剧本,涉及到调用加密文件时,不再重复输入密码认证。

Ansible管理密码库文件的更多相关文章

  1. svn管理代码在cornerstone上无法添加.a 静态库文件

    有时候.a静态库不能上传到svn的服务器  导致别人拉代码运行不了 这是因为cornerstone设置里面默认不会提交.a文件, 在上图选项栏里是cornerstone默认忽略上传的文件名后缀,在这里 ...

  2. 使用 Ansible 管理 MySQL 复制

    Ansible 是一个新兴的 IT 自动化工具.本文将介绍如何通过 Ansible 配置及管理 MySQL 主.从复制环境,实现部署过程自动化,体验 Ansible 简单快速带来的快感. 简介: An ...

  3. 1password密码库格式更新

    由于国内网络安全做的太差,经常发生被脱裤的事件,比如最近的网易邮箱(via 乌云),所以只好用1password这类密码管理软件,实现一站一密.昨晚半夜冻醒了,刷推刷到了这个:1password-le ...

  4. Ansible管理上千台主机时需要的速度优化

    1 开启ssh长连接 OpenSSH 5.6版本后SSH支持了Multiplexing 设置参数 ssh_args = -C -o ControlMaster=auto -o ControlPersi ...

  5. 012_STM32程序移植之_内部flash开机次数管理lib库建立

    012_STM32程序移植之_内部flash开机次数管理lib库建立 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH ...

  6. Ansible主机清单Inventory文件hosts

    Ansible主机清单Inventory文件hosts 发表于 2017-05-14 | 分类于 运维相关 , Ansible | | 阅读次数 4638 | 字数统计 1,442 | 阅读时长预计 ...

  7. gcc编译时头文件和库文件搜索路径

    特殊情况:用户自定义的头文件使用#include"mylib"时,gcc编译器会从当前目录查找头文件 一.头文件 gcc 在编译时寻找所需要的头文件 :    ※搜寻会从-I开始( ...

  8. Eclipse·如何关联Git库文件和添加JUint库

    Eclipse创建工程并关联到文件(SVN或Git管理的代码文件) 新建java工程,用于存放工程的一些信息,默认存放地址. 工程相关的信息是不需要提交到(SVN或Git)版本库的,所以工程存放到本地 ...

  9. 创建podSpec,使用pod管理第三方库

    提要: podfile文件会先读取.podspec文件,根据.podspec文件的指向来下载第三方库到项目中. 本文先通过一.二.三项,这三个步骤讲解了如何建立一个.podspec文件在本地.coco ...

  10. linux库文件编写入门(笔记)

    linux库文件的编写 作者: laomai地址: http://blog.csdn.net/laomai 本文主要参考了如下资料⑴hcj写的"Linux静态/动态链接库的创建和使用&quo ...

随机推荐

  1. Qt编写安防视频监控系统50-地图配置

    一.前言 视频监控系统中集成了百度地图模块,支持在线和离线,离线的需要先把离线的瓦片地图下载到本地放到对应文件夹才可以正常使用,瓦片地图其实就是一张张图片,按照约定的规则,经纬度值+缩放比例进行排列, ...

  2. Apollo功能及原理详解

    前言 公司里面使用的配置中心是携程开源的Apollo,之前我只使用过Nacos,遂记录一下学习过程. Apollo工作原理 模块介绍 上图就是Apollo的总体设计,从下往上挨个分析: ConfigD ...

  3. Vue数据更新不渲染页面的问题

    一. 问题现象 在通过数组下标的方式修改集合元素,元素的值确实是更新了,但是页面不能重新渲染. 二. 原因分析 Vue官方文档传送门 三. 解决方案 // 针对数组使用 this.$set(arr,i ...

  4. VueH5页面中input控件placeholder提示字默认颜色修改与禁用时默认字体颜色修改

    一.默认提示字颜色修改 不同浏览器的设置略有区别 以下是只选择name为color的input进行修改 //chrome谷歌浏览器,Safari苹果浏览器 input[name="color ...

  5. 如何快速的开发一个完整的iOS直播app(礼物篇)

    搭建礼物列表 使用modal,设置modal样式为custom,就能做到从小往上显示礼物列表,并且能看见前面的直播界面 礼物模型设计 一开始创建3个礼物模型,保存到数组,传入给礼物View展示,本来礼 ...

  6. springboot-总结列表

    一.Spring Boot 具有以下特点: 1. 独立运行的 Spring 项目 Spring Boot 可以以 jar 包的形式独立运行,Spring Boot 项目只需通过命令" jav ...

  7. Java实现LDAP登录

    LDAP的全称是Lightweight Directory Access Protocol(轻量级目录访问协议),是一种用于访问和管理分布式目录信息服务的应用协议.LDAP通常用于存储用户.组和其他组 ...

  8. 萌新赛 sprintf漏洞

    首先是个.git源码源码泄露,用githack回复一下源码 源码 <?php $pass=sprintf("and pass='%s'",addslashes($_GET[' ...

  9. [ARC 188A] ABC Symmetry

    solution by XiangXunYi 思路推导 step 1 首先题目中操作二同时删掉 A,B,C 的条件相当于同时将三者数量减一,操作一删掉两个相同字符等同于将某一字符的数量减二,那么我们可 ...

  10. 存储过程专题(Oracle)

    本文转自 https://www.cnblogs.com/lukelook/p/9600407.html,感谢博主 豆豆DE思念 整理分享. 1.Oracle 存储过程基本格式  最简单的版本 is ...