78.4. 인증서 RHEL 시스템 역할을 사용하여 인증서 발행 전후에 실행할 명령 지정
인증서
역할을 사용하면 Ansible Core를 사용하여 인증서를 발급하거나 갱신하기 전과 후에 명령을 실행할 수 있습니다.
다음 예에서 관리자는 www.example.com
의 자체 서명된 인증서가 발급되거나 갱신되기 전에 httpd
서비스를 중지하고 나중에 다시 시작합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/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
로 설정하여 이 설정을 비활성화할 수 있습니다.-
플레이북 구문을 확인합니다.
$ ansible-playbook --syntax-check ~/playbook.yml
이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
$ ansible-playbook ~/playbook.yml
추가 리소스
-
/usr/share/ansible/roles/rhel-system-roles.certificate/README.md
파일 -
/usr/share/doc/rhel-system-roles/certificate/
directory