Red Hat Training

A Red Hat training course is available for RHEL 8

77.4. 인증서 시스템 역할을 사용하여 인증서 발행 전후에 실행할 명령 지정

인증서 역할을 사용하면 Ansible Core를 사용하여 인증서를 발급하거나 갱신하기 전과 후에 명령을 실행할 수 있습니다.

다음 예에서 관리자는 www.example.com 의 자체 서명된 인증서가 발급되거나 갱신되기 전에 httpd 서비스를 중지하고 나중에 다시 시작합니다.

사전 요구 사항

절차

  1. 다음 콘텐츠를 사용하여 플레이북 파일(예: ~/playbook.yml )을 생성합니다.

    ---
    - hosts: managed-node-01.example.com
      roles:
        - rhel-system-roles.certificate
      vars:
        certificate_requests:
          - name: mycert
            dns: www.example.com
            ca: self-sign
            run_before: systemctl stop httpd.service
            run_after: systemctl start httpd.service
    • name 매개 변수를 mycert 와 같이 원하는 인증서 이름으로 설정합니다.
    • dns 매개 변수를 인증서에 포함할 도메인(예: www.example.com) 으로 설정합니다.
    • 인증서를 발급하는 데 사용할 ca 매개 변수(예: 자체 서명 )를 설정합니다.
    • run_before 매개변수를 systemctl stop httpd.service 와 같이 인증서가 발행되거나 갱신되기 전에 실행할 명령으로 설정합니다.
    • 이 인증서가 발급되거나 갱신된 후 systemctl start httpd.service 와 같이 run_after 매개 변수를 실행할 명령으로 설정합니다.

    기본적으로 certmonger 는 만료되기 전에 자동으로 인증서를 갱신하려고 합니다. Ansible 플레이북에서 auto_renew 매개 변수를 no 로 설정하여 이 설정을 비활성화할 수 있습니다.

  2. 플레이북 구문을 확인합니다.

    $ ansible-playbook --syntax-check ~/playbook.yml

    이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.

  3. 플레이북을 실행합니다.

    $ ansible-playbook ~/playbook.yml

추가 리소스

  • /usr/share/ansible/roles/rhel-system-roles.certificate/README.md 파일
  • /usr/share/doc/rhel-system-roles/certificate/ directory