Ansible Vault: Criptografando Playbooks e Variáveis

Ansible Vault: Criptografando Playbooks e Variáveis

Automatize sua infraestrutura sem correr riscos de segurança

O Ansible foi um dos responsáveis pela popularização da automação de configurações por meio das suas playbooks (scripts no formato YAML, onde é possível definir de forma estruturada configurações para um determinado ambiente). Hoje, milhares de empresas, com a utilização do Ansible, conseguem fazer com que sua infraestrutura esteja totalmente em formato de código e versionada, basicamente, como um software.

As facilidades que o Ansible trás são inquestionáveis, porém, atualmente, é perceptível que cada informação sobre a infraestrutura de uma empresa é muita valiosa e sensível. Dessa forma é comum que as playbooks que geram toda a infraestrutura de uma empresa deixa dados sensíveis, como senhas e usuários, expostos.

O Ansible Vault vem como solução para esses problemas, já que essa funcionalidade do Ansible possibilita que as playbooks sejam criptografas e permitam que somente pessoas autorizadas possam visualizar e modificar o seu conteúdo.

Arquitetura da Criptografia

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, conforme abaixo:

"Estrutura

É necessário observar que o Ansible Vault permite a criptografia apenas arquivos, sejam playbooks ou não, e variáveis.

Ansible Vault na prática

Então, vamos aprender como é utilizá-lo:

  • Criando um Arquivo Criptografado

ansible-vault create <nome_do_arquivo>

Creando Arquivo CriptografadoApós a solicitação de confirmação de senha, é a aberto um editor para adicionar o conteúdo ao arquivo novo.

Conteúdo Criptgrafado

  • Visualizando o Arquivo Criptografado

ansible-vault view <nome_do_arquivo>

Visualizando Arquivo

  • Editando o Arquivo Criptografado

ansible-vault edit <nome_do_arquivo>

Editando Arquivo

  • Criptografando um arquivo já existente

ansible-vault encrypt <nome_do_arquivo>

  • Decriptografando o Arquivo

ansible-vault decrypt <nome_do_arquivo>

  • Criptografando Variáveis do Ansible

ansible-vault encrypt_string -n <nome_da_variável> <conteúdo_da_variável>

Esse comando fornece um resultado criptografado que é adicionando, geralmente, em vars/main.yml de um role ansible.

O exemplo mostrado acima é uma forma de proteger o conteúdo da sua variável. Pois, não permite que o conteúdo da variável fique no histórico da linha de comando.

Para executar uma playbook que esteja utiliza um arquivo ou variável criptografada é necessário passar o comando da seguinte formar:

Finalizando, percebemos que o Ansible Vault é perfeito para proteger informações e implementar Segurança no mundo DevOps de forma simples.

CURSOSCONSULTORIA    CONTATO

Anterior Virtualização com Vagrant
Próxima Criando Pipelines no Jenkins com Jenkinsfile

About author

Yago Ésquines
Yago Ésquines 2 posts

Yago Ésquines, atua como Analista de Infraestrutura em Software Livre, formado em Ciência da Computação pela Universidade Paulista (UNIP) e em progresso na formação em Segurança da Informação pela FATEC São Caetano. Atua com foco em Linux, Cloud, DevOps e DevSecOps, possuindo 5 anos de experiência profissional em Tecnologia da Informação. Detém expertise como instrutor de cursos voltados ao Sistema Operacional Linux, Infraestrutura Ágil e DevSecOps, aleḿ da Certificação LPIC2 e DevOps Essentials.

View all posts by this author →

Você pode gostar também

Desenvolvimento

Por que aprender Python?

Dizem que se alguém quer trabalhar no Google, o caminho mais simples é aprender Python. Será este o único motivo? De fato, a linguagem Python é intensivamente usada pelo Google.

Treinamentos

4Linux lança curso de DevSecOps e solidifica liderança em cursos para carreira DevOps

Treinamento possui conteúdo único em relação a qualquer outro no mercado A 4Linux anuncia hoje o lançamento de mais um curso para enriquecer a sua oferta de treinamentos na carreira

Destaques

Como sair da “Operação Tradicional” de TI para um “ambiente DevOps” ?

Um marco importante na vida de um profissional de infraestrutura de TI é quando ele reconhece que as áreas de desenvolvimento e infraestrutura devem andar em conjunto como um só.