54.3. Recuperando um segredo de um cofre de usuário padrão na IdM usando o Ansible
Esta seção mostra como um usuário de Gerenciamento de Identidade (IdM) pode usar um Livro de Jogadas Ansivel para recuperar um segredo do cofre pessoal do usuário. No exemplo utilizado no procedimento abaixo, o usuário idm_user recupera um arquivo com dados confidenciais de um cofre do tipo padrão chamado my_vault em um cliente IdM chamado host01. idm_user não precisa se autenticar ao acessar o arquivo. idm_user pode usar o Ansible para recuperar o arquivo de qualquer cliente IdM no qual o Ansible esteja instalado.
Pré-requisitos
- Você instalou o pacote ansible-freeipa no controlador Ansible. Este é o host no qual você executa as etapas do procedimento.
- Você sabe a senha do site idm_user.
- idm_user é o proprietário de my_vault.
- idm_user guardou um segredo em my_vault.
- Ansible pode escrever no diretório no host do IdM no qual você quer recuperar o segredo.
- idm_user pode ler a partir do diretório no host do IdM no qual você quer recuperar o segredo.
Procedimento
Navegue até o diretório
/usr/share/doc/ansible-freeipa/playbooks/vault
:$ cd /usr/share/doc/ansible-freeipa/playbooks/vault
Abra seu arquivo de inventário e mencione, em uma seção claramente definida, o cliente IdM no qual você quer recuperar o segredo. Por exemplo, para instruir a Ansible a recuperar o segredo em host01.idm.example.com, entre:
[ipahost] host01.idm.example.com
Faça uma cópia do arquivo do livro de jogo retrive-data-symmetric-vault.yml. Substitua "simétrico" por "padrão". Por exemplo:
$ cp retrive-data-symmetric-vault.yml retrieve-data-standard-vault.yml-copy.yml
- Abra o arquivo retrieve-data-standard-vault.yml-copy.yml para edição.
-
Adapte o arquivo, definindo a variável
hosts
para ipahost. Adapte o arquivo definindo as seguintes variáveis na seção de tarefas
ipavault
:-
Defina a variável
ipaadmin_principal
para idm_user. -
Defina a variável
ipaadmin_password
com a senha de idm_user. -
Defina a variável
user
para idm_user. -
Defina a variável
name
para my_vault. -
Defina a variável
out
para o caminho completo do arquivo para o qual você deseja exportar o segredo. Defina a variável
state
para retrieved.Este é o arquivo Ansible playbook modificado para o exemplo atual:
--- - name: Tests hosts: ipahost become: true gather_facts: false tasks: - ipavault: ipaadmin_principal: idm_user ipaadmin_password: idm_user_password user: idm_user name: my_vault out: /tmp/password_exported.txt state: retrieved
-
Defina a variável
- Salvar o arquivo.
Execute o livro de brincadeiras:
$ ansible-playbook -v -i inventory.file retrieve-data-standard-vault.yml-copy.yml
Etapas de verificação
SSH
a host01 como user01:$ ssh user01@host01.idm.example.com
Veja o arquivo especificado pela variável
out
no arquivo do Ansible playbook:$ vim /tmp/password_exported.txt
Agora você pode ver o segredo exportado.
-
Para mais informações sobre o uso do Ansible to manage IdM vaults and user secrets e sobre variáveis de playbook, consulte o arquivo README-vault.md Markdown disponível no diretório
/usr/share/doc/ansible-freeipa/
e os exemplos de playbooks disponíveis no diretório/usr/share/doc/ansible-freeipa/playbooks/vault/
.