31.8. 외부 DNS 및 외부 CA를 루트 CA로 사용하여 배포의 매개변수 설정


외부 DNS 솔루션을 사용하는 환경에서 외부 CA를 루트 CA로 설치하도록 인벤토리 파일을 구성하려면 다음 절차를 완료합니다.

참고

이 절차의 인벤토리 파일은 INI 형식을 사용합니다. 또는 YAML 또는 JSON 형식을 사용할 수 있습니다.

프로세스

  1. ~/MyPlaybooks/ 디렉터리를 생성합니다.

    $ mkdir MyPlaybooks
    Copy to Clipboard Toggle word wrap
  2. ~/MyPlaybooks/inventory 파일을 만듭니다.
  3. 편집할 인벤토리 파일을 엽니다. IdM 서버로 사용할 호스트의FQDN(정규화된 도메인 이름)을 지정합니다. FQDN 이 다음 기준을 충족하는지 확인합니다.

    • 영숫자 및 하이픈(-)만 허용됩니다. 예를 들어 밑줄은 허용되지 않으며 DNS 오류가 발생할 수 있습니다.
    • 호스트 이름은 모두 소문자여야 합니다.
  4. IdM 도메인 및 영역 정보를 지정합니다.
  5. ipaserver_setup_dns 옵션이 no 또는 absent로 설정되어 있는지 확인합니다.
  6. adminDirectory Manager 의 암호를 지정합니다. Ansible Vault를 사용하여 암호를 저장하고 플레이북 파일의 Vault 파일을 참조합니다. 또는 덜 안전하게 인벤토리 파일에서 직접 암호를 지정합니다.
  7. 선택 사항: IdM 서버에서 사용할 사용자 지정 firewalld 영역을 지정합니다. 사용자 지정 영역을 설정하지 않으면 IdM은 해당 서비스를 기본 firewalld 영역에 추가합니다. 사전 정의된 기본 영역은 public 입니다.

    중요

    지정된 firewalld 영역이 있어야 하며 영구 영역이어야 합니다.

    필요한 서버 정보가 있는 인벤토리 파일의 예(암호 제외)

    [ipaserver]
    server.idm.example.com
    
    [ipaserver:vars]
    ipaserver_domain=idm.example.com
    ipaserver_realm=IDM.EXAMPLE.COM
    ipaserver_setup_dns=no
    [...]
    Copy to Clipboard Toggle word wrap

    필수 서버 정보가 있는 인벤토리 파일의 예(암호 포함)

    [ipaserver]
    server.idm.example.com
    
    [ipaserver:vars]
    ipaserver_domain=idm.example.com
    ipaserver_realm=IDM.EXAMPLE.COM
    ipaserver_setup_dns=no
    ipaadmin_password=MySecretPassword123
    ipadm_password=MySecretPassword234
    
    [...]
    Copy to Clipboard Toggle word wrap

    사용자 지정 firewalld 영역이 있는 인벤토리 파일의 예

    [ipaserver]
    server.idm.example.com
    
    [ipaserver:vars]
    ipaserver_domain=idm.example.com
    ipaserver_realm=IDM.EXAMPLE.COM
    ipaserver_setup_dns=no
    ipaadmin_password=MySecretPassword123
    ipadm_password=MySecretPassword234
    ipaserver_firewalld_zone=custom zone
    
    [...]
    Copy to Clipboard Toggle word wrap

  8. 설치 첫 번째 단계에 대한 플레이북을 생성합니다. CSR(인증서 서명 요청)을 생성하고 컨트롤러에서 관리 노드로 복사하는 지침을 입력합니다.

    ---
    - name: Playbook to configure IPA server Step 1
      hosts: ipaserver
      become: true
      vars_files:
      - playbook_sensitive_data.yml
      vars:
        ipaserver_external_ca: true
    
      roles:
      - role: ipaserver
        state: present
    
      post_tasks:
      - name: Copy CSR /root/ipa.csr from node to "{{ groups.ipaserver[0] + '-ipa.csr' }}"
        fetch:
          src: /root/ipa.csr
          dest: "{{ groups.ipaserver[0] + '-ipa.csr' }}"
          flat: true
    Copy to Clipboard Toggle word wrap
  9. 설치의 마지막 단계에 대해 다른 플레이북을 생성합니다.

    ---
    - name: Playbook to configure IPA server Step 2
      hosts: ipaserver
      become: true
      vars_files:
      - playbook_sensitive_data.yml
      vars:
        ipaserver_external_cert_files:
          - "/root/servercert20240601.pem"
          - "/root/cacert.pem"
    
      pre_tasks:
      - name: Copy "{{ groups.ipaserver[0] }}-{{ item }}" to "/root/{{ item }}" on node
        ansible.builtin.copy:
          src: "{{ groups.ipaserver[0] }}-{{ item }}"
          dest: "/root/{{ item }}"
          force: true
        with_items:
        - servercert20240601.pem
        - cacert.pem
    
      roles:
      - role: ipaserver
        state: present
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat