Red Hat Training

A Red Hat training course is available for RHEL 8

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

  1. Criar um arquivo de inventário, por exemplo inventory.file, e definir ipaserver no mesmo:

    [ipaserver]
    server.idm.example.com
  2. 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 }}"
  3. 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"
       }
      ]
    }
  4. 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:

    1. Acesse ipaserver como administrador:

      $ ssh administrator@server.idm.example.com
      Password:
      [admin@server /]$
    2. 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.