Red Hat Training

A Red Hat training course is available for RHEL 8

11.3. Garantizar la presencia de múltiples usuarios de IdM desde un archivo JSON utilizando playbooks de Ansible

El siguiente procedimiento describe cómo se puede asegurar la presencia de varios usuarios en IdM utilizando un playbook de Ansible. Los usuarios se almacenan en un archivo JSON.

Requisitos previos

  • Conoce la contraseña del administrador de IdM.
  • Ha instalado el paquete ansible-freeipa en el controlador de Ansible.

Procedimiento

  1. Cree un archivo de inventario, por ejemplo inventory.file, y defina en él ipaserver:

    [ipaserver]
    server.idm.example.com
  2. Cree un archivo Ansible playbook con las tareas necesarias. Haz referencia al archivo JSON con los datos de los usuarios cuya presencia quieres asegurar. Para simplificar este paso, puede copiar y modificar el ejemplo del archivo /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. Cree el archivo users.json y añada los usuarios de IdM en él. Para simplificar este paso, puedes copiar y modificar el ejemplo del archivo /usr/share/doc/ansible-freeipa/playbooks/user/users.json. Por ejemplo, para crear los usuarios idm_user_1, idm_user_2, y idm_user_3, y añadir Password123 como contraseña 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. Ejecute el playbook de Ansible especificando el archivo del playbook y el archivo de inventario:

    $ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-users-present-jsonfile.yml

Pasos de verificación

  • Puede verificar si las cuentas de usuario están presentes en IdM utilizando el comando ipa user-show:

    1. Entre en ipaserver como administrador:

      $ ssh administrator@server.idm.example.com
      Password:
      [admin@server /]$
    2. Mostrar información sobre idm_user_1:

      $ ipa user-show idm_user_1
        User login: idm_user_1
        First name: Alice
        Last name: Acme
        Password: True
        ....

    El usuario llamado idm_user_1 está presente en IdM.