博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ansible-vault_使用Ansible Vault改善您的DevOps安全游戏
阅读量:2525 次
发布时间:2019-05-11

本文共 1636 字,大约阅读时间需要 5 分钟。

ansible-vault

您可能已经确定了DevOps的工作流程,但是您应该不断努力提高此类实现的操作成熟度。 我使用的一种工具是Red Hat的 ,它非常适合编排和配置管理。 Ansible的入门门槛低且简单,这就是为什么这么多开始使用Ansible的人学会爱上它的原因。

Ansible中的一个功能是开发人员应该更经常使用的功能是 。

根据其文档,Ansible Vault(1.5)的最新版本允许将“敏感数据(例如密码或密钥)保留在加密文件中,而不是在剧本或角色中保留为纯文本。然后可以分发或存储这些保管库文件。置于源代码管理中。”

通常,私有SSL证书,API密钥和其他敏感数据会在GitHub上或通过其他一些意外方式公开发布。 Ansible Vault通过AES256加密您的机密,以便您可以将其安全地存储在Ansible Playbook和清单中。

创建文件库很简单:

ansible-vault create vault.yml

系统将提示您输入密码,该密码将与需要访问Vault的其他用户共享。 您输入变量,秘密等,并在完成后保存文件。 如果您尝试在文本编辑器中编辑vault.yml ,您将看到类似以下内容:

Up your DevOps security game with Ansible Vault

编辑库文件就像创建一个库文件一样简单:

ansible-vault edit vault.yml

您可以将Ansible的配置( ansible.cfg )指向存储库外部的Vault密码文件。 该文件中只有Ansible Vault密码。 此步骤使您无需在每次编辑Ansible Vault时都输入密码:

vault_password_file = ~/.ansible_vault

当使用多个库文件(例如host_varsgroup_vars时,它还可以提供host_vars group_vars 。 如果您有一个包含文件库文件的目录,则可以将所有文件grep到可能已放错位置的变量中:

ls -1 | while read N ; do echo -n $N: ; ansible-vault --vault-password-file ~/.ansible_vault view $N | grep STRING ; done

另一个不错的技巧是使用Ansible Vault加密SSL / TLS密钥。 这样,您可以将它们及其配置保留在版本控制中。 您可以使用简单的命令对密钥进行加密:

ansible-vault encrypt private.pem

然后,您可以通过查找将键作为变量调用,并将其部署到远程系统上的文件中:

---     
- hosts: host.domain.tld
  vars:
    - private_key: "{
{ lookup('file', 'files/private.pem') }}"
  tasks:
    - name: Place certs on systems
      copy: content={
{ item.content }} dest=/etc/pki/tls/certs/{
{ item.dest }} owner=root group=root mode={
{ item.mode }}
      with_items:
        - { content: "{
{ private_key }}", dest: 'private.pem', mode: '0600' }

您解密的私钥将落在系统上,可以立即使用。

如您所见,Ansible Vault的可能性是无限的,您的开发和运营可以从其使用中受益匪浅。

翻译自:

ansible-vault

转载地址:http://pdjzd.baihongyu.com/

你可能感兴趣的文章
vue 根据不同属性 设置背景
查看>>
51Nod1601 完全图的最小生成树计数 Trie Prufer编码
查看>>
Codeforces 1110D. Jongmah 动态规划
查看>>
android驱动在win10系统上安装的心酸历程
查看>>
优雅的程序员
查看>>
oracle之三 自动任务调度
查看>>
Android dex分包方案
查看>>
ThreadLocal为什么要用WeakReference
查看>>
Java Web 常用在线api汇总(不定时更新)
查看>>
删除本地文件
查看>>
FOC实现概述
查看>>
base64编码的图片字节流存入html页面中的显示
查看>>
这个大学时代的博客不在维护了,请移步到我的新博客
查看>>
GUI学习之二十一——QSlider、QScroll、QDial学习总结
查看>>
[Python设计模式] 第25章 联合国维护世界和平——中介者模式
查看>>
nginx反向代理docker registry报”blob upload unknown"解决办法
查看>>
gethostbyname与sockaddr_in的完美组合
查看>>
kibana的query string syntax 笔记
查看>>
基于Lua插件化的Pcap流量监听代理
查看>>
旋转变换(一)旋转矩阵
查看>>