26장. Ansible을 사용하여 IdM에 서비스가 있는지 여부 확인
Ansible service
모듈을 사용하여 IdM(Identity Management) 관리자는 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/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 플레이북을 실행합니다. Playbook 파일, 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에 로그인합니다.
-
ID
→서비스로
이동합니다.
HTTP/client.idm.example.com@IDM.EXAMPLE.COM 이 서비스 목록에 나열되면 Ansible 플레이북이 IdM에 성공적으로 추가되었습니다.
추가 리소스
- HTTP 서버와 브라우저 클라이언트 간의 통신을 보호하려면 Apache HTTP 서버에 TLS 암호화 추가 를 참조하십시오.
- HTTP 서비스의 인증서를 요청하려면 certmonger를 사용하여 서비스에 대한 IdM 인증서 가져오기 에 설명된 절차를 참조하십시오.