16.4. 인증서 시스템 역할을 사용하여 인증서 발행 전 또는 이후에 실행할 명령 지정
인증서
역할을 사용하면 Ansible Core를 사용하여 인증서를 발급하거나 갱신하기 전과 후에 명령을 실행할 수 있습니다.
다음 예에서 관리자는 www.example.com
의 자체 서명 인증서 전에 httpd
서비스를 중지한 후 나중에 다시 시작합니다.
참고
기본적으로 certmonger
는 만료되기 전에 인증서를 자동으로 업데이트하려고 합니다. Ansible 플레이북의 auto_renew
매개변수를 no
로 설정하여 이 설정을 비활성화할 수 있습니다.
사전 요구 사항
- Ansible Core 패키지는 제어 시스템에 설치됩니다.
-
플레이북을 실행할 시스템에
rhel-system-roles
패키지가 설치되어 있습니다.
절차
선택 사항: 인벤토리 파일(예:
inventory.file
)을 생성합니다.$ *touch inventory.file*
인벤토리 파일을 열고 인증서를 요청할 호스트를 정의합니다. 예를 들면 다음과 같습니다.
[webserver] server.idm.example.com
플레이북 파일을 만듭니다(예:
request-certificate.yml
):-
웹
서버와 같이 인증서를 요청할 호스트를 포함하도록 호스트를 설정합니다. 다음을 포함하도록
certificate_requests
변수를 설정합니다.-
name
매개변수를mycert
와 같은 인증서의 원하는 이름으로 설정합니다. -
dns
매개변수를 인증서에 포함할 도메인(예: www.example.com)으로설정합니다
. -
self-sign
과 같은 인증서를 발급하는 데 사용할ca
매개변수를 CA로 설정합니다. -
이 인증서를 발행하거나 갱신하기 전에 실행할 명령에
run_before
매개 변수를systemctl stop httpd.service
와 같이 설정합니다. -
이 인증서가 발행되거나 갱신된 후 실행할 명령에
run_after
매개 변수를 다음과 같이 설정합니다(예:systemctl start httpd.service
).
-
역할에
rhel-system-
역할을 설정합니다.roles
.certificate이 예제는 플레이북 파일입니다.
--- - hosts: webserver vars: certificate_requests: - name: mycert dns: www.example.com ca: self-sign run_before: systemctl stop httpd.service run_after: systemctl start httpd.service roles: - rhel-system-roles.certificate
-
- 파일을 저장합니다.
플레이북을 실행합니다.
$ *ansible-playbook -i inventory.file request-certificate.yml*
추가 리소스
-
/usr/share/ansible/roles/rhel-system-roles.certificate/README.md
파일을 참조하십시오. -
ansible-playbook(1)
도움말 페이지를 참조하십시오.