Red Hat Training

A Red Hat training course is available for RHEL 8

54.3. Recuperación de un secreto de una bóveda de usuario estándar en IdM usando Ansible

Esta sección muestra cómo un usuario de Gestión de Identidades (IdM) puede utilizar un libro de jugadas de Ansible para recuperar un secreto del almacén personal del usuario. En el ejemplo utilizado en el procedimiento siguiente, el usuario idm_user recupera un archivo con datos confidenciales de una bóveda de tipo estándar denominada my_vault en un cliente IdM denominado host01. idm_user no tiene que autenticarse al acceder al archivo. idm_user puede utilizar Ansible para recuperar el archivo desde cualquier cliente IdM en el que esté instalado Ansible.

Requisitos previos

  • Ha instalado el paquete ansible-freeipa en el controlador de Ansible. Este es el host en el que se ejecutan los pasos del procedimiento.
  • Ya conoces la contraseña de idm_user.
  • idm_user es el propietario de my_vault.
  • idm_user ha guardado un secreto en my_vault.
  • Ansible puede escribir en el directorio del host de IdM en el que quieres recuperar el secreto.
  • idm_user puede leer desde el directorio del host de IdM en el que se desea recuperar el secreto.

Procedimiento

  1. Navegue hasta el directorio /usr/share/doc/ansible-freeipa/playbooks/vault:

    $ cd /usr/share/doc/ansible-freeipa/playbooks/vault
  2. Abra su archivo de inventario y mencione, en una sección claramente definida, el cliente IdM en el que desea recuperar el secreto. Por ejemplo, para ordenar a Ansible que recupere el secreto en host01.idm.example.com, introduzca:

    [ipahost]
    host01.idm.example.com
  3. Haga una copia del archivo retrive-data-symmetric-vault.yml Ansible playbook. Sustituya "simétrico" por "estándar". Por ejemplo:

    $ cp retrive-data-symmetric-vault.yml retrieve-data-standard-vault.yml-copy.yml
  4. Abra el archivo retrieve-data-standard-vault.yml-copy.yml para editarlo.
  5. Adapte el archivo ajustando la variable hosts a ipahost.
  6. Adapte el archivo estableciendo las siguientes variables en la sección de tareas ipavault:

    • Establezca la variable ipaadmin_principal en idm_user.
    • Establezca la variable ipaadmin_password con la contraseña de idm_user.
    • Establezca la variable user en idm_user.
    • Establezca la variable name en my_vault.
    • Establezca la variable out con la ruta completa del archivo al que desea exportar el secreto.
    • Establezca la variable state en retrieved.

      Este es el archivo de Ansible playbook modificado para el ejemplo actual:

    ---
    - 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
  7. Guarda el archivo.
  8. Ejecuta el libro de jugadas:

    $ ansible-playbook -v -i inventory.file retrieve-data-standard-vault.yml-copy.yml

Pasos de verificación

  1. SSH a host01 como user01:

    $ ssh user01@host01.idm.example.com
  2. Vea el archivo especificado por la variable out en el archivo del libro de jugadas de Ansible:

    $ vim /tmp/contraseña_exportada.txt

Ahora puedes ver el secreto exportado.

  • Para obtener más información sobre el uso de Ansible para gestionar los almacenes de IdM y los secretos de usuario y sobre las variables del libro de jugadas, consulte el archivo Markdown README-vault.md disponible en el directorio /usr/share/doc/ansible-freeipa/ y los libros de jugadas de ejemplo disponibles en el directorio /usr/share/doc/ansible-freeipa/playbooks/vault/.