29.3. Garantir a presença de múltiplas entradas no host IdM com senhas aleatórias usando Livros de Jogadas Ansíveis
O módulo ipahost
permite ao administrador do sistema garantir a presença ou ausência de múltiplas entradas no IdM usando apenas uma tarefa possível. Esta seção descreve como garantir a presença de múltiplas entradas de host que são definidas apenas por seus fully-qualified domain names
(FQDNs). A execução do Ansible playbook gera senhas aleatórias para os hosts.
Sem Ansible, as entradas do host são criadas no IdM usando o comando ipa host-add
. O resultado da adição de um host ao IdM é o estado do host que está presente no IdM. Devido à possível dependência do Idempotence, para adicionar um host ao IdM usando o Ansible, você deve criar um playbook no qual você define o estado do host como presente: state: present.
Pré-requisitos
- Você sabe a senha do administrador da IdM.
- O pacote ansible-freeipa é instalado no controlador Ansible.
Procedimento
Criar um arquivo de inventário, por exemplo
inventory.file
, e definiripaserver
no mesmo:[ipaserver] server.idm.example.com
Crie um arquivo de playbook possível com o
fully-qualified domain name
(FQDN) dos anfitriões cuja presença na IdM você quer garantir. Para fazer com que o Ansible playbook gere uma senha aleatória para cada host mesmo quando o host já existe na IdM eupdate_password
está limitado aon_create
, adicione as opçõesrandom: yes
eforce: yes
. Para simplificar esta etapa, você pode copiar e modificar o exemplo do arquivo 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
Execute o livro de brincadeiras:
$ 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 implantar os anfitriões como clientes IdM usando senhas aleatórias e únicas (OTPs), veja Opções de autorização para inscrição de clientes IdM usando um livro de exercícios ou Instalação de um cliente usando uma senha única: Instalação interativa.
Etapas de verificação
Faça o login em seu servidor IdM como administrador:
$ ssh admin@server.idm.example.com Password:
Digite o comando
ipa host-show
e especifique o nome de um dos anfitriões:$ ipa host-show host01.idm.example.com Host name: host01.idm.example.com Password: True Keytab: False Managed by: host01.idm.example.com
A saída confirma que host01.idm.example.com existe na IdM com uma senha aleatória.