43.3. Ansible 플레이북을 사용하여 임의의 암호로 여러 IdM 호스트 항목이 있는지 확인
ipahost
모듈을 사용하면 시스템 관리자가 하나의 Ansible 작업만 사용하여 IdM에 여러 호스트 항목이 있거나 있는지 확인할 수 있습니다. FQDN( 정규화된 도메인 이름
)에서만 정의한 여러 호스트 항목이 있는지 확인하려면 다음 절차를 따르십시오. Ansible 플레이북을 실행하면 호스트에 대한 임의의 암호가 생성됩니다.
Ansible이 없으면 ipa host-add
명령을 사용하여 IdM에 호스트 항목이 생성됩니다. IdM에 호스트를 추가하는 결과는 IdM에 호스트 상태가 됩니다. Ansible의 idempotence on idempotence 때문에 Ansible을 사용하여 호스트를 IdM에 추가하려면 호스트 상태를 present: state: present 로 정의하는 플레이북을 생성해야 합니다.
사전 요구 사항
- IdM 관리자 암호를 알고 있습니다.
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.14 이상을 사용하고 있습니다.
-
Ansible 컨트롤러에
ansible-freeipa
패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 정규화된 도메인 이름(FQDN)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password
를 저장하는 것으로 가정합니다.
-
ansible-freeipa
모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
절차
인벤토리 파일(예:
inventory.file
)을 생성하고ipaserver
를 이 파일에 정의합니다.[ipaserver] server.idm.example.com
보장하려는 IdM에 있는 호스트의 FQDN(
정규화된 도메인 이름
)을 사용하여 Ansible 플레이북 파일을 생성합니다. Ansible 플레이북에서 호스트가 IdM에 이미 있고update_password
가on_create
로 제한되더라도 각 호스트에 대해 임의의 암호를 생성하도록 하려면random: yes
및force: yes
옵션을 추가합니다. 이 단계를 단순화하기 위해/usr/share/doc/ansible-freeipa/README-host.md
Markdown 파일에서 예제를 복사하고 수정할 수 있습니다.--- - 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 ipahost: ipaadmin_password: "{{ ipaadmin_password }}" hosts: - name: host01.idm.example.com random: yes force: yes - name: host02.idm.example.com random: yes force: yes register: ipahost
플레이북을 실행합니다.
$ 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: [r8server.idm.example.com] => {"changed": true, "host": {"host01.idm.example.com": {"randompassword": "0HoIRvjUdH0Ycbf6uYdWTxH"}, "host02.idm.example.com": {"randompassword": "5VdLgrf3wvojmACdHC3uA3s"}}}
임의의 일회성 암호(one-time passwords)를 사용하여 호스트를 IdM 클라이언트로 배포하려면 Ansible 플레이북을 사용하여 IdM 클라이언트 등록 또는 일회성 암호: Interactive 설치를 사용하여 클라이언트 설치를 참조하십시오.
검증 단계
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 이 있는지 확인합니다.