25 de março de 2021 • 1 min de leitura
Criptografando conteúdo com Ansible Vault
O Ansible Vault criptografa variáveis e arquivos para que você possa proteger conteúdo confidencial, como senhas ou chaves, em vez de deixá-los disponíveis nas suas tasks..
Para usar o Ansible Vault, você precisa de uma ou mais senhas para criptografar e descriptografar o conteúdo. Se você armazenar suas senhas do vault em uma ferramenta de terceiros, como um secret manager, precisará de um script para acessá-las.
Use as senhas com a ferramenta de linha de comando ansible-vault
para criar e visualizar variáveis criptografadas, criar arquivos criptografados, criptografar arquivos existentes ou editar, redigitar ou descriptografar arquivos.
Para o Ansible Vault conseguir criptografar e manter a mínima segurança, ele utiliza a chave simétrica AES(Symmetrical Key Advanced). A chave AES provê um caminho simples de utilização já que utiliza a mesma informação de chave de criptografia para chave de decriptografia.
Processo
O processo de criptografia e descriptografia é bem simples e pode ser feito com uma única linha de comando. Para criarmos o arquivo criptografado, utilizaremos a seguinte sintaxe:
ansible-vault create <arquivo>
Será solicitado uma senha para que só os que a possui conseguirem abrir o conteúdo. Feito isso, o arquivo estará criptografado, caso tente abrir sem o ansible-vault
será retornado algo semelhante a isso:
$ cat senhas
$ANSIBLE_VAULT;1.1;AES256
32623665326138333534333731386338366466633535623561346535613663343565643461323533
3838616365653039383731613464396537393964323731380a396431323030366533353831396665
64616536323334323538313462376666616531313062623564333631396632666463336634383838
6136363131393137620a623230613131363236386631386333336163623938363131643632393036
6432
Para podermos acessar o seu conteúdo, utilizaremos a opção view
e para editar a opção edit
do ansible-vault
:
ansible-vault view <arquivo>
ansible-vault edit <arquivo>
Agora um processo bastante comum é a criptografia do arquivo de variável do Ansible, dessa forma, para criptografarmos um arquivo já existente basta seguirmos com a opção encrypt
:
ansible-vault encrypt <arquivo>
Para executar uma playbook que esteja utiliza um arquivo ou variável criptografada é necessário passar o comando da seguinte formar:
ansible-playbook --ask-vault-pass <playbook>
OU
ansible-playbook --vault-password-file <arquivo_de_senha> <playbook>
Finalizando, percebemos que o Ansible Vault é perfeito para proteger informações e implementar o básico de segurança de forma simples.