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
Navegue hasta el directorio
/usr/share/doc/ansible-freeipa/playbooks/vault:$ cd /usr/share/doc/ansible-freeipa/playbooks/vaultAbra 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.comHaga 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- Abra el archivo retrieve-data-standard-vault.yml-copy.yml para editarlo.
-
Adapte el archivo ajustando la variable
hostsa ipahost. Adapte el archivo estableciendo las siguientes variables en la sección de tareas
ipavault:-
Establezca la variable
ipaadmin_principalen idm_user. -
Establezca la variable
ipaadmin_passwordcon la contraseña de idm_user. -
Establezca la variable
useren idm_user. -
Establezca la variable
nameen my_vault. -
Establezca la variable
outcon la ruta completa del archivo al que desea exportar el secreto. Establezca la variable
stateen 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-
Establezca la variable
- Guarda el archivo.
Ejecuta el libro de jugadas:
$ ansible-playbook -v -i inventory.file retrieve-data-standard-vault.yml-copy.yml
Pasos de verificación
SSHa host01 como user01:$ ssh user01@host01.idm.example.comVea el archivo especificado por la variable
outen 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/.