加密 Ansible 敏感数据
ansible-vault 加密变量文件、字符串和任意文件,playbook 运行时再解密。它保护的是静态文件;运行时内存、日志和权限仍需单独控制。
ansible-vault create secrets.yml
ansible-vault edit secrets.yml
ansible-vault view secrets.yml
ansible-vault encrypt secrets.yml
ansible-vault decrypt secrets.yml
ansible-vault rekey secrets.yml
ansible-vault encrypt_string 'S3cret' --name db_password
ansible-vault encrypt --vault-id prod@prompt group_vars/prod/vault.yml
ansible-vault decrypt --vault-id prod@.vault_pass group_vars/prod/vault.yml
encrypt_string 的输出是 YAML 片段;复制时注意缩进和 !vault 标记。rekey 只改一个文件;多个加密文件要逐个处理并更新 CI。.gitignore 和提交前检查都要有。-vvv 可能打印解密后的变量,注意日志级别。ansible-playbook — 使用 vault 变量ansible-galaxy — 角色与集合