26장. Ansible을 사용하여 IdM에서 서비스 존재 및 서비스 존재 확인
IdM(Identity Management) 관리자는 Ansible service
모듈을 사용하면 IdM에 네이티브하지 않은 특정 서비스가 IdM에 존재하지 않거나 누락되어 있는지 확인할 수 있습니다. 예를 들어, service
모듈을 사용하여 다음을 수행할 수 있습니다.
수동으로 설치된 서비스가 IdM 클라이언트에 있는지 확인하고 없는 경우 해당 서비스를 자동으로 설치합니다. 자세한 내용은 다음을 참조하십시오.
- IdM에 등록된 서비스에 인증서가 연결되어 있는지 확인하고 없는 경우 해당 인증서를 자동으로 설치합니다. 자세한 내용은 다음을 참조하십시오.
- IdM 서비스 항목에 외부 서명된 인증서가 있는지 확인합니다.
IdM 사용자와 호스트가 서비스 키탭을 검색하고 생성하도록 허용합니다. 자세한 내용은 다음을 참조하십시오.
IdM 사용자와 호스트가 서비스에 Kerberos 별칭을 추가할 수 있도록 허용합니다. 자세한 내용은 다음을 참조하십시오.
서비스가 IdM 클라이언트에 없는지 확인하고 있는 경우 해당 서비스를 자동으로 제거합니다. 자세한 내용은 다음을 참조하십시오.
26.1. Ansible 플레이북을 사용하여 IdM에 HTTP 서비스가 있는지 확인
Ansible 플레이북을 사용하여 IdM에 HTTP 서버가 있는지 확인하려면 다음 절차를 따르십시오.
사전 요구 사항
- HTTP 서비스를 호스트하는 시스템은 IdM 클라이언트입니다.
- IdM 관리자 암호가 있습니다.
절차
인벤토리 파일을 생성합니다(예:
inventory.file
):$ touch inventory.file
inventory.file
을 열고[ipaserver]
섹션에서 설정할 IdM 서버를 정의합니다. 예를 들어, server.idm.example.com 을 구성하도록 Ansible에 지시하려면 다음을 입력합니다.[ipaserver] server.idm.example.com
/usr/share/doc/ansible-freeipa/playbooks/service/service-is-present.yml
Ansible 플레이북 파일을 복사합니다. 예를 들어 다음과 같습니다.$ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-copy.yml
편집할
/usr/share/doc/ansible-freeipa/playbooks/service-is-present-copy.yml
Ansible 플레이북 파일을 엽니다.--- - name: Playbook to manage IPA service. hosts: ipaserver gather_facts: false vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: # Ensure service is present - ipaservice: ipaadmin_password: "{{ ipaadmin_password }}" name: HTTP/client.idm.example.com
파일을 수정합니다.
-
ipaadmin_password
변수에서 정의한 IdM 관리자 암호를 변경합니다. -
ipaservice
작업의 name 변수에 정의된 대로 HTTP 서비스가 실행 중인 IdM 클라이언트의이름을
변경합니다.
-
- 파일을 저장하고 종료합니다.
Ansible 플레이북을 실행합니다. 플레이북 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일 및 인벤토리 파일을 지정합니다.
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-copy.yml
검증
- IdM 관리자로 IdM 웹 UI에 로그인합니다.
-
Identity
Services
로 이동합니다.
HTTP/client.idm.example.com@IDM.EXAMPLE.COM 가 서비스 목록에 표시되면 Ansible 플레이북이 IdM에 성공적으로 추가되었습니다.
추가 리소스
- HTTP 서버와 브라우저 클라이언트 간의 통신을 보호하려면 Apache HTTP 서버에 TLS 암호화 추가를 참조하십시오.
- HTTP 서비스의 인증서를 요청하려면 certmonger를 사용하여 서비스에 대한 IdM 인증서 가져오기 에 설명된 절차를 참조하십시오.