42.3. Ansible 플레이북을 사용하여 임의의 암호가 있는 여러 IdM 호스트 항목이 있는지 확인
freeipa.ansible_freeipa.ipahost 모듈을 사용하면 시스템 관리자가 하나의 Ansible 작업을 사용하여 IdM에 여러 호스트 항목이 있는지 확인할 수 있습니다. FQDN( 정규화된 도메인 이름 )에서만 정의한 여러 호스트 항목이 있는지 확인하려면 다음 절차를 따르십시오. Ansible 플레이북을 실행하면 호스트에 대한 임의의 암호가 생성됩니다.
Ansible이 없으면 ipa host-add 명령을 사용하여 IdM에 호스트 항목이 생성됩니다. IdM에 호스트를 추가하는 결과는 IdM에 존재하는 호스트의 상태입니다. Ansible의 멱등성으로 인해 Ansible을 사용하여 IdM에 호스트를 추가하려면 호스트의 상태를 present: present로 정의하는 플레이북을 생성해야 합니다.
사전 요구 사항
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.15 이상을 사용하고 있습니다.
-
ansible-freeipa패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybooks/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible vault가
ipaadmin_password를 저장하고 secret.yml 파일을 보호하는 암호를 저장하는 파일에 대한 액세스 권한이 있다고 가정합니다.
-
freeipa.ansible_freeipa모듈이 실행되는 대상 노드인 대상 노드는 IdM 도메인의 일부입니다. IdM 클라이언트, 서버 또는 복제본입니다.
프로세스
확인하려는 IdM에 있는 호스트의 FQDN(
정규화된 도메인 이름)을 사용하여 Ansible 플레이북 파일을 생성합니다. 호스트가 IdM에 이미 존재하고update_password가on_create로 제한되는 경우에도 Ansible 플레이북에서 각 호스트에 대한 임의의 암호를 생성하려면random: true및force: true옵션을 추가합니다. 이 단계를 단순화하려면/usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/README-host.mdMarkdown 파일에서 예제를 복사하고 수정할 수 있습니다.--- - name: Ensure hosts with random password hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Hosts host01.idm.example.com and host02.idm.example.com present with random passwords freeipa.ansible_freeipa.ipahost: ipaadmin_password: "{{ ipaadmin_password }}" hosts: - name: host01.idm.example.com random: true force: true - name: host02.idm.example.com random: true force: true register: ipahostPlaybook을 실행합니다.
$ ansible-playbook --vault-password-file=password_file -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: [server.idm.example.com] => {"changed": true, "host": {"host01.idm.example.com": {"randompassword": "0HoIRvjUdH0Ycbf6uYdWTxH"}, "host02.idm.example.com": {"randompassword": "5VdLgrf3wvojmACdHC3uA3s"}}}참고임의의 일회성 암호(OTP)를 사용하여 호스트를 IdM 클라이언트로 배포하려면 Ansible 플레이북을 사용하여 IdM 클라이언트 등록 또는 일회성 암호를 사용하여 클라이언트 설치 옵션을 참조하십시오.
검증
IdM 서버에 admin으로 로그인합니다.
$ ssh admin@server.idm.example.com Password:ipa host-show명령을 입력하고 호스트 중 하나의 이름을 지정합니다.$ ipa host-show host01.idm.example.com Host name: host01.idm.example.com Password: True Keytab: False Managed by: host01.idm.example.com
출력은 임의의 암호를 사용하여 IdM에 host01.idm.example.com 이 있는지 확인합니다.