26장. Ansible을 사용하여 IdM에서 서비스 존재 및 서비스 존재 확인

IdM(Identity Management) 관리자는 Ansible service 모듈을 사용하면 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-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 플레이북을 실행합니다. 플레이북 파일, 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. IdentityServices 로 이동합니다.

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

추가 리소스