26장. Ansible을 사용하여 IdM에 서비스가 있는지 여부 확인

Ansible service 모듈을 사용하여 IdM(Identity Management) 관리자는 IdM에 고유하지 않거나 IdM에 없는 특정 서비스가 있는지 확인할 수 있습니다. 예를 들어 service 모듈을 사용하여 다음을 수행할 수 있습니다.

26.1. Ansible 플레이북을 사용하여 IdM에 HTTP 서비스가 있는지 확인

Ansible 플레이북을 사용하여 IdM에 HTTP 서버가 있는지 확인하려면 다음 절차를 따르십시오.

사전 요구 사항

  • HTTP 서비스를 호스팅하는 시스템은 IdM 클라이언트입니다.
  • IdM 관리자 암호가 있습니다.

절차

  1. 인벤토리 파일을 생성합니다(예: inventory.file:

    $ touch inventory.file
  2. inventory.file 을 열고 [ipaserver] 섹션에서 구성할 IdM 서버를 정의합니다. 예를 들어 server.idm.example.com을 구성하도록 Ansible에 지시하려면 다음을 입력합니다.

    [ipaserver]
    server.idm.example.com
  3. /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
  4. 편집을 위해 /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
  5. 파일을 조정합니다.

    • ipaadmin_password 변수에 정의된 IdM 관리자 암호를 변경합니다.
    • ipaservice 작업의 name 변수에 정의된 대로 HTTP 서비스가 실행 중인 IdM 클라이언트의 이름을 변경합니다.
  6. 파일을 저장하고 종료합니다.
  7. 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

검증 단계

  1. IdM 관리자로 IdM 웹 UI에 로그인합니다.
  2. ID서비스로 이동합니다.

HTTP/client.idm.example.com@IDM.EXAMPLE.COM서비스 목록에 나열되면 Ansible 플레이북이 IdM에 성공적으로 추가되었습니다.

추가 리소스