21.2. 인증서 RHEL 시스템 역할을 사용하여 자체 서명된 새 인증서 요청


테스트 환경에 TLS 인증서가 필요한 경우 자체 서명된 인증서를 사용할 수 있습니다. 인증서 RHEL 시스템 역할을 사용하여 개인 키 생성 프로세스를 자동화하고 certmonger 서비스에서 자체 서명된 인증서를 생성하도록 할 수 있습니다. 기본적으로 certmonger 는 만료되기 전에 인증서를 갱신합니다.

사전 요구 사항

절차

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

    ---
    - name: Create certificates
      hosts: managed-node-01.example.com
      tasks:
        - name: Create a self-signed certificate
          ansible.builtin.include_role:
            name: rhel-system-roles.certificate
          vars:
            certificate_requests:
              - name: web-server
                ca: self-sign
                dns: test.example.com

    예제 플레이북에 지정된 설정은 다음과 같습니다.

    name: <path_or_file_name>

    생성된 개인 키 및 인증서 파일의 이름 또는 경로를 정의합니다.

    • 변수를 web-server 로 설정하면 역할은 개인 키를 /etc/pki/tls/private/web-server.key 에 저장하고 /etc/pki/tls/certs/web-server.crt 파일의 인증서를 저장합니다.
    • 변수를 /tmp/web-server 와 같은 경로로 설정하면 역할은 /tmp/web-server.key 에 개인 키를 저장하고 /tmp/web-server.crt 파일에 인증서를 저장합니다.

      사용하는 디렉터리에 cert_t SELinux 컨텍스트가 설정되어 있어야 합니다. selinux RHEL 시스템 역할을 사용하여 SELinux 컨텍스트를 관리할 수 있습니다.

    ca: 자체 서명
    역할이 자체 서명된 인증서를 생성하도록 정의합니다.
    dns: <hostname_or_list_of_hostnames>
    발행된 인증서의 주체 대체 이름(SAN) 필드에 포함된 호스트 이름을 설정합니다. 와일드카드(*)를 사용하거나 YAML 목록 형식으로 여러 이름을 지정할 수 있습니다.

    플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의 /usr/share/ansible/roles/rhel-system-roles.certificate/README.md 파일을 참조하십시오.

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

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

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

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

    $ ansible-playbook ~/playbook.yml

검증

  • certmonger 서비스에서 관리하는 인증서를 나열합니다.

    # ansible managed-node-01.example.com -m command -a 'getcert list'
    ...
    Number of certificates and requests being tracked: 1.
    Request ID '20240918133610':
    	status: MONITORING
    	stuck: no
    	key pair storage: type=FILE,location='/etc/pki/tls/private/web-server.key'
    	certificate: type=FILE,location='/etc/pki/tls/certs/web-server.crt'
    	CA: local
    	issuer: CN=c32b16d7-5b1a4c5a-a953a711-c3ca58fb,CN=Local Signing Authority
    	subject: CN=test.example.com
    	issued: 2024-09-18 15:36:10 CEST
    	expires: 2025-09-18 15:36:09 CEST
    	dns: test.example.com
    	key usage: digitalSignature,keyEncipherment
    	eku: id-kp-serverAuth,id-kp-clientAuth
    	pre-save command:
    	post-save command:
    	track: yes
    	auto-renew: yes

추가 리소스

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

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.