Red Hat Training
A Red Hat training course is available for RHEL 8
29.3. Garantizar la presencia de múltiples entradas de host IdM con contraseñas aleatorias utilizando los playbooks de Ansible
El módulo ipahost
permite al administrador del sistema asegurar la presencia o ausencia de múltiples entradas de host en IdM utilizando una sola tarea Ansible. Esta sección describe cómo asegurar la presencia de múltiples entradas de host que sólo están definidas por su fully-qualified domain names
(FQDNs). La ejecución del playbook de Ansible genera contraseñas aleatorias para los hosts.
Sin Ansible, las entradas de host se crean en IdM mediante el comando ipa host-add
. El resultado de añadir un host a IdM es el estado del host presente en IdM. Debido a la dependencia de Ansible en la idempotencia, para añadir un host a IdM utilizando Ansible, debe crear un libro de jugadas en el que se define el estado del host como presente: state: present.
Requisitos previos
- Conoce la contraseña del administrador de IdM.
- El paquete ansible-freeipa está instalado en el controlador Ansible.
Procedimiento
Cree un archivo de inventario, por ejemplo
inventory.file
, y defina en élipaserver
:[ipaserver] server.idm.example.com
Crea un archivo de playbook de Ansible con el
fully-qualified domain name
(FQDN) de los hosts cuya presencia en IdM quieres asegurar. Para que el playbook de Ansible genere una contraseña aleatoria para cada host incluso cuando el host ya existe en IdM yupdate_password
se limita aon_create
, añade las opcionesrandom: yes
yforce: yes
. Para simplificar este paso, puedes copiar y modificar el ejemplo del archivo Markdown de/usr/share/doc/ansible-freeipa/README-host.md
:--- - name: Ensure hosts with random password hosts: ipaserver become: true tasks: - name: Hosts host01.idm.example.com and host02.idm.example.com present with random passwords ipahost: ipaadmin_password: MySecret123 hosts: - name: host01.idm.example.com random: yes force: yes - name: host02.idm.example.com random: yes force: yes register: ipahost
Ejecuta el libro de jugadas:
$ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-hosts-are-present.yml [...] TASK [Hosts host01.idm.example.com and host02.idm.example.com present with random passwords] changed: [r8server.idm.example.com] => {"changed": true, "host": {"host01.idm.example.com": {"randompassword": "0HoIRvjUdH0Ycbf6uYdWTxH"}, "host02.idm.example.com": {"randompassword": "5VdLgrf3wvojmACdHC3uA3s"}}}
Para implementar los hosts como clientes de IdM utilizando contraseñas aleatorias de un solo uso (OTP), consulte Opciones de autorización para la inscripción de clientes de IdM utilizando un libro de jugadas de Ansible o Instalación de un cliente utilizando una contraseña de un solo uso: Instalación interactiva.
Pasos de verificación
Inicie sesión en su servidor IdM como administrador:
$ ssh admin@server.idm.example.com Password:
Introduzca el comando
ipa host-show
y especifique el nombre de uno de los hosts:$ ipa host-show host01.idm.example.com Host name: host01.idm.example.com Password: True Keytab: False Managed by: host01.idm.example.com
La salida confirma que host01.idm.example.com existe en IdM con una contraseña aleatoria.