Ansible Vault ============= .. contents:: Topics New in Ansible 1.5, "Vault" is a feature of ansible that allows keeping sensitive data such as passwords or keys in encrypted files, rather than as plaintext in your playbooks or roles. These vault files can then be distributed or placed in source control. To enable this feature, a command line tool - :ref:`ansible-vault` - is used to edit files, and a command line flag (:option:`--ask-vault-pass ` or :option:`--vault-password-file `) is used. Alternately, you may specify the location of a password file or command Ansible to always prompt for the password in your ansible.cfg file. These options require no command line flag usage. For best practices advice, refer to :ref:`best_practices_for_variables_and_vaults`. .. _what_can_be_encrypted_with_vault: What Can Be Encrypted With Vault ```````````````````````````````` The vault feature can encrypt any structured data file used by Ansible. This can include "group_vars/" or "host_vars/" inventory variables, variables loaded by "include_vars" or "vars_files", or variable files passed on the ansible-playbook command line with "-e @file.yml" or "-e @file.json". Role variables and defaults are also included! Ansible tasks, handlers, and so on are also data so these can be encrypted with vault as well. To hide the names of variables that you're using, you can encrypt the task files in their entirety. However, that might be a little too much and could annoy your coworkers :) The vault feature can also encrypt arbitrary files, even binary files. If a vault-encrypted file is given as the 'src' argument to the :ref:`copy `, :ref:`template