11.3. Assegurar a presença de múltiplos usuários IdM a partir de um arquivo JSON usando Livros de Jogadas Ansíveis
O procedimento seguinte descreve como você pode garantir a presença de vários usuários na IdM usando um Livro de Jogadas Anível. Os usuários são armazenados em um arquivo JSON
.
Pré-requisitos
- Você sabe a senha do administrador da IdM.
- Você instalou o pacote ansible-freeipa no controlador Ansible.
Procedimento
Criar um arquivo de inventário, por exemplo
inventory.file
, e definiripaserver
no mesmo:[ipaserver] server.idm.example.com
Crie um arquivo de playbook possível com as tarefas necessárias. Consulte o arquivo
JSON
com os dados dos usuários cuja presença você deseja garantir. Para simplificar esta etapa, você pode copiar e modificar o exemplo no arquivo/usr/share/doc/ansible-freeipa/ensure-users-present-ymlfile.yml
:--- - name: Ensure users' presence hosts: ipaserver become: true tasks: - name: Include users.json include_vars: file: users.json - name: Users present ipauser: ipaadmin_password: MySecret123 users: "{{ users }}"
Crie o arquivo
users.json
, e adicione os usuários do IdM a ele. Para simplificar esta etapa, você pode copiar e modificar o exemplo no arquivo/usr/share/doc/ansible-freeipa/playbooks/user/users.json
. Por exemplo, para criar usuários idm_user_1, idm_user_2, e idm_user_3, e adicionar Password123 como senha de idm_user_1:{ "users": [ { "name": "idm_user_1", "first": "Alice", "last": "Acme", "password": "Password123" }, { "name": "idm_user_2", "first": "Bob", "last": "Acme" }, { "name": "idm_user_3", "first": "Eve", "last": "Acme" } ] }
Execute a Pasta de reprodução possível especificando o arquivo da Pasta de reprodução e o arquivo do inventário:
$ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-users-present-jsonfile.yml
Etapas de verificação
Você pode verificar se as contas de usuário estão presentes no IdM usando o comando
ipa user-show
:Acesse
ipaserver
como administrador:$ ssh administrator@server.idm.example.com Password: [admin@server /]$
Mostrar informações sobre idm_user_1:
$ ipa user-show idm_user_1 User login: idm_user_1 First name: Alice Last name: Acme Password: True ....
O usuário chamado idm_user_1 está presente na IdM.