Menu Close

Red Hat Training

A Red Hat training course is available for RHEL 8

71.4. Ansible Playbook을 사용하여 IdM 서비스 항목에 외부 서명된 인증서가 있는지 확인

이 섹션에서는 ansible-freeipa 서비스 모듈을 사용하여 외부 CA(인증 기관)에서 발급한 인증서가 HTTP 서비스의 IdM 항목에 연결되어 있는지 확인하는 방법을 설명합니다. IdM CA가 자체 서명된 인증서를 사용하는 경우 IdM CA가 아닌 외부 CA에서 서명한 HTTP 서비스의 인증서를 보유하는 것이 특히 유용합니다.

사전 요구 사항

절차

  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-member-certificate-present.yml 파일의 복사본을 만듭니다. 예를 들면 다음과 같습니다.

    $ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present-copy.yml
  4. 선택 사항: 인증서가 PEM(개인 정보 보호 강화 메일) 형식인 경우 CLI(명령줄 인터페이스)를 통해 더 쉽게 처리할 수 있도록 인증서를 DER(고급 인코딩 규칙) 형식으로 변환합니다.

    $ openssl x509 -outform der -in cert1.pem -out cert1.der
  5. base64 명령을 사용하여 DER 파일을 표준 출력으로 디코딩합니다. w 0 옵션을 사용하여 래핑을 비활성화합니다.

    $ base64 cert1.der -w0
    MIIC/zCCAeegAwIBAgIUV74O+4kXeg21o4vxfRRtyJm...
  6. 인증서를 표준 출력에서 클립보드로 복사합니다.
  7. /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present-copy.yml 파일을 열어 내용을 편집하고 봅니다.

    ---
    - name: Service certificate present.
      hosts: ipaserver
      become: true
      gather_facts: false
    
      tasks:
      # Ensure service certificate is present
      - ipaservice:
          ipaadmin_password: MyPassword123
          name: HTTP/www.example.com
          certificate: |
            - MIICBjCCAW8CFHnm32VcXaUDGfEGdDL/...
          [...]
          action: member
          state: present
  8. 파일을 조정합니다.

    • 인증서 변수를 사용하여 정의한 인증서를 CLI에서 복사한 인증서로 바꿉니다. 표시된 대로 "|" 파이프 문자가 있는 certificate: 변수를 사용하는 경우 한 줄에 입력하지 않고 인증서 THIS WAY를 입력할 수 있습니다. 이렇게 하면 인증서를 더 쉽게 읽을 수 있습니다.
    • ipaadmin_password 변수에 정의된 IdM 관리자 암호를 변경합니다.
    • name 변수에서 정의한 HTTP 서비스가 실행 중인 IdM 클라이언트의 이름을 변경합니다.
    • 기타 관련 변수를 변경합니다.
  9. 파일을 저장하고 종료합니다.
  10. 플레이북 파일 및 인벤토리 파일을 지정하는 Ansible 플레이북을 실행합니다.

    $ ansible-playbook -v -i path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present-copy.yml

검증 단계

  1. IdM 관리자로 IdM 웹 UI에 로그인합니다.
  2. ID서비스로 이동합니다.
  3. 새로 추가된 인증서(예: HTTP/client.idm.example.com )를 사용하여 서비스 이름을 클릭합니다.

오른쪽에 있는 Service Certificate(서비스 인증서 ) 섹션에서 새로 추가된 인증서를 볼 수 있습니다.