个性化阅读
专注于IT技术分析

ansible vault命令用法

本文概述

Ansible Vault是一项功能,允许用户加密Ansible项目中的值和数据结构。这提供了保护成功运行Ansible播放所需的任何机密或敏感数据的能力,例如私人密钥或密码,但这些秘密或敏感数据不可公开显示。提供密钥后,Ansible会在运行时自动解密Vault加密的内容。

为了将这些秘密与常规的Ansible数据集成在一起,分别用于执行临时任务和结构化的Playbook的Ansible和Ansible-playbook命令都支持在运行时解密Vault加密的内容。

Ansible Vault是通过文件级粒度实现的;这意味着文件是完全加密或未加密的。它使用AES256算法来提供以用户提供的密码为密钥的对称加密。

这意味着使用相同的密码来加密和解密内容,从可用性的角度来看这很有帮助。 Ansible可以识别和解密在执行任务或剧本时找到的任何由Vault加密的文件。

尽管有人建议对此进行更改,但是在撰写本文时,用户只能将一个密码传递给Ansible。这意味着所涉及的每个加密文件必须共享一个密码。

使用Ansible Vault

Ansible保管库的简单用法是对变量文件进行加密。它可以加密任何YAML文件,但是要加密的最常见文件是:

  • 角色的默认值/ main.yml文件
  • 角色的vars / main.yml文件
  • group_vars目录中的文件
  • 用于存储变量的任何其他文件

加密现有文件

你可以使用ansible保管库对常规的纯文本变量文件进行加密,并定义稍后解密所需的密码。

#encrypt a role's defaults/main.yml file
ansible-vault encrypt defaults/main.yml
>New vault password: 
>Confirm new vault password:
>Encryption successful

ansible-vault命令将提示你输入两次密码。之后,文件将被加密。

创建一个加密的文件

要创建加密的数据文件,请使用ansible-vault创建命令,并传递文件名。

$ansible-vault create <file name>

系统将提示你创建一个密码,然后通过重新输入密码进行确认。

确认密码后,将创建一个新文件,并打开一个编辑窗口。默认情况下,Ansible保管库的编辑器为VI。你可以添加数据,保存数据并从中退出。

编辑加密文件

如果要编辑加密的文件,则可以使用ansible-vault edit命令对其进行编辑。此命令会将文件解密为临时文件,并允许你编辑文件。

$ansible-vault edit <file name>

系统将提示你插入库密码。解密后的文件将在VI编辑器中打开,然后你可以进行所需的更改。保存更改并删除临时文件。

重新加密加密文件

如果要更改文件库加密文件上文件库的密码,可以使用rekey命令来进行更改。

$ansible-vault rekey <file1> <file2> <file3>

上面的命令可以立即重新密钥多个数据文件,并要求提供原始密码和新密码。

加密未加密的文件

如果你有要加密的现有文件,请使用ansible-vault crypto命令。此命令可以一次处理多个文件。

$ansible-vault encrypt <file1> <file2> <file3>

解密加密文件

如果你有不再需要加密的现有文件,则可以通过运行ansible-vault解密命令将其永久解密。此命令会将它们未加密保存到磁盘。

$ansible-vault decrypt <file1> <file2> <file3>

查看加密文件

如果要在不编辑的情况下查看加密文件的内容,则可以使用ansible-vault view命令。

$ansible-vault view <file1> <file2> <file3>

赞(0) 打赏
未经允许不得转载:srcmini » ansible vault命令用法
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏