问题标签 [ansible-vault]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-code - 如何在 visual-studio-code 中编辑 ansible-vault 加密文件?
我正在使用命令行工具 ansible-vault 并尝试编辑加密文件。
EDITOR=code ansible-vault edit test.txt
预计代码会在编辑器中以解密的内容打开。保存后 ansible-vault 应该解密(更改的)缓冲区。工作起来很像编辑 git commit 消息。
但是,缓冲区是空的。并且更改/保存对文件没有太大作用。
我还用 vim 和 subl 进行了尝试,它们都按预期工作。我需要做什么才能使用visual-studio-code来完成这项任务?
python - 如何在 Ansible Playbook 中使用“become_pass”
我尝试编写一个 Ansible yml,它从加密的保管库文件中读取根密码,然后将其传递给 become_pass:
p>但这失败了:错误!'become_pass' 不是 Play 的有效属性
但为什么 ?- 根据 Ansible 文档,这是一个有效的命令。
bash - 通过 bash 脚本在“交互模式”下使用 ansible-vault
我真的很喜欢ansible-vault
在命令行上轻松地加密/解密文件。例如,如果我有一个~/fizzbuzz.foo
使用以下内容调用的纯文本文件:
我可以像这样使用这个工具:
繁荣——加密!当我vi ~/fizzbuzz.foo
现在:
我想在 bash 脚本中使用它,我将加密/解密密码作为脚本参数传入:
但是,我看不到任何类似于-i
. 我能找到的最好的方法是使用 env 文件来存储实用程序的密码,但我玩过但找不到类似的行为。ansible-vault
ansible-playbook
ansible-vault
有任何想法吗?
json - Ansible RAW 模块 - Curl 和 JSON 文件 (Kubernetes)
我需要用 curl 解析一个名为 keys_base64 的 JSON 属性。我只能选择使用 Ansible 的原始模块来完成此操作。这是因为网络相关问题。我尝试了许多不同的方法,但迷路了。我怎样才能让它工作?
更新:找到答案
原帖
** JSON 键示例对象 **
** unseal.json **
** 剧本**
playbook 变量“vault_ocs_unseal_keys”包含 JSON 对象。
**剧本输出**
}
json - 带有 to_nice_json 的 Ansible Vault 内联变量:发生意外的模板类型错误...不是 JSON 可序列化的
我通常通过设置配置变量vars/main.yml
并将其中的一部分通过to_nice_json
.
考虑一个vars/main.yaml
类似下面的例子:
我通过 Jinja2 模板和template
具有以下内容的模块呈现出来:
最近我尝试使用 Ansible Vault 来加密敏感位,例如,sql_password
通过encrypt_string
命令如下:
ansible-vault encrypt_string --vault-id .ansible-vault-password "somepassword" --name 'sql_password'
并直接在 YAML 文件中内联加密版本,如下所示:
但是,当to_nice_json
应用过滤器时,我收到以下错误:
可以看出,该变量是属性解密的,但在序列化为 JSON 时会出错。但是,如果我将内联 Vault 变量用双引号括起来,则不会发生解密,并且生成的 JSON 包含整个 Vault Blob。
我错过了什么吗?这是to_nice_json
过滤器的问题还是内联方式错误?
ansible - 如何使用 vault 为 ansible 中的一组主机提供 SSH 用户密码
考虑以下 Ansiblehosts
文件:
我想从保险库文件中包含这些密码值并有一个hosts
类似的文件(我的意图是有一个ini
清单格式):
其中sss_pass
变量来自文件夹中定义的拱形文件host_vars
。
相关的 ansible 文件夹结构如下所示:
但 ansible 抱怨:
- 为什么我会收到错误消息?
- 如何将密码导入
hosts
文件?
ansible - Ansible Vault 和使用 include_vars 加密的变量
我需要使用 ansible Vault 存储和加密密码的文件,我创建了一个名为“passes”的加密文件,该文件存储在 group_vars 中,解密后包含以下内容:
我创建了剧本文件:
该角色只是使用模板传递的文件部署一个文件,该文件是:
每次我使用 tower 启动它时,我都会收到错误消息
"msg": "AnsibleUndefinedVariable: 'testvar' 未定义"
任何想法我做错了什么?没有迹象表明我的加密文件正在被 ansible 解密。还有我刚刚粘贴的加密文件:
也许加密的文件应该看起来不同,所以 Ansible 会解密它?
encryption - 在 rsync 之前解密 ansible Vault 文件
我使用以下脚本加密了一堆文件(证书)
在 rsyncing 我运行这样的东西
我面临的问题是移动的文件仍然保持加密状态。我认为 ansible 足够聪明,可以检测它是否像我在这里所做的那样被加密和解密
回到前面的问题,如何确保文件夹/文件中的文件在 rsyncing 之前被解密?
编辑:
我尝试使用复制模块,因为它具有加密意识,但该模块似乎挂起。注意到ansible github上目录的复制模块存在一些问题,我回来同步。
我也尝试了with_fileglob方法,但这会使目录结构变平。
编辑2:
我得到了加密,解密以使用复制模块,但速度非常慢。
ansible - Ansible 过滤器中的 Ansible Vault 单变量
我正在使用这个角色来安装google-cloud-sdk
. 有一个带有名称的任务Activate service account
,它使用 ansible 过滤器from_json
从 GCE 服务帐户密钥中获取数据。
由于在 git repo 中存储敏感数据不是一个好方法,我auth.json
用下一个命令加密了我的文件(首先使它成为单行):
awk -v RS= '{$1=$1}1' ./auth.json |ansible-vault encrypt_string --stdin-name gcloud_key
具体问题或错误:
但是,我在运行分子测试时遇到了下一个错误:
我已经加密了该文件并尝试将其路径放入gcloud_key
变量值,但得到:
添加加密文件内容作为变量值也会导致No JSON object could be decoded
。
期望的行为:
Playbook 应该解码 Vault 变量并将from_json
其作为 JSON 获取。
重现所需的最短代码:
(保险库密码是123456
,放在里面./vpass
)
源auth.json
文件内容为:
您可以使用以下方法测试它是否是有效的 JSON:
cat ./auth.json |jq -e
对其进行加密的命令是:
cat auth.json |ansible-vault encrypt_string --stdin-name gcloud_key
将 next 放入main.yml
项目根目录的文件中:
使用此requirements.yml
内容:
这个ansible.cfg
内容:
使用此命令运行测试:
我究竟做错了什么?提前致谢。
ansible - 以安全的方式存储“ansible_ssh_private_key_file”?
我想知道将 'ansible_ssh_private_key_file' 值存储为源代码控制中 ansible playbook 的一部分的推荐最佳实践是什么。我已经使用多个 SSH 密钥对跟踪了这个优秀的线程Ansible,但是 .pem 文件将对 git repo 的任何读取都是公开的。
我目前正在考虑两种选择
- 使用 ansible-vault 加密私钥详细信息。这使我可以将私钥内容安全地保存在 git 中。
- 在 Jenkins 凭证管理器中保存私钥详细信息。这有点混乱,因为配置现在在两个地方。
任何建议将不胜感激。