4장. Ansible 플레이북을 사용하여 Identity Management 클라이언트 설치

Ansible 을 사용하여 IdM(Identity Management) 클라이언트로 시스템을 구성하는 방법에 대해 자세히 알아보십시오. 시스템을 IdM 클라이언트로 구성하여 IdM 도메인에 등록하고 시스템이 도메인의 IdM 서버에서 IdM 서비스를 사용할 수 있도록 합니다.

배포는 ipaclient Ansible 역할에서 관리합니다. 기본적으로 이 역할은 IdM 서버, 도메인 및 기타 설정을 식별하기 위해 자동 검색 모드를 사용합니다. Ansible 플레이북에서 지정된 설정을 사용하도록 역할을 수정할 수 있습니다(예: 인벤토리 파일).

사전 요구 사항

  • Ansible 제어 노드에 ansible-freeipa 패키지를 설치했습니다.
  • Ansible 및 IdM 개념을 이해할 수 있습니다.

    • Ansible 역할
    • Ansible 노드
    • Ansible 인벤토리
    • Ansible 작업
    • Ansible 모듈
    • Ansible 플레이 및 플레이북

4.1. 자동 검색 클라이언트 설치 모드에 대한 인벤토리 파일의 매개 변수 설정

Ansible 플레이북을 사용하여 Identity Management 클라이언트를 설치하려면 인벤토리 파일에서 대상 호스트 매개 변수를 구성합니다(예: inventory/hosts ).

  • 호스트에 대한 정보
  • 작업 권한 부여

인벤토리 파일은 보유한 인벤토리 플러그인에 따라 다양한 형식 중 하나에 있을 수 있습니다. INI와 유사한 형식은 Ansible의 기본값 중 하나이며 아래 예제에서 사용됩니다.

참고

RHEL에서 그래픽 사용자 인터페이스에서 스마트 카드를 사용하려면 Ansible 플레이북에 ipaclient_mkhomedir 변수를 포함해야 합니다.

사전 요구 사항

절차

  1. IdM 클라이언트가 될 호스트의 정규화된 호스트 이름(FQDN)을 지정합니다. 정규화된 도메인 이름은 유효한 DNS 이름이어야 합니다.

    • 숫자, 영문자 및 하이픈(-)만 허용됩니다. 예를 들어 밑줄은 허용되지 않으며 DNS 오류가 발생할 수 있습니다.
    • 호스트 이름은 모두 소문자여야 합니다. 대문자는 허용되지 않습니다.

    SRV 레코드가 IdM DNS 영역에 올바르게 설정된 경우 스크립트는 기타 필요한 모든 값을 자동으로 검색합니다.

    정의된 클라이언트 FQDN만 있는 간단한 인벤토리 호스트 파일의 예

    [ipaclients]
    client.idm.example.com
    [...]

  2. 클라이언트 등록에 필요한 자격 증명을 지정합니다. 다음과 같은 인증 방법을 사용할 수 있습니다.

    • 고객 등록에 승인된 사용자의 암호입니다. 기본 옵션입니다.

      • Red Hat은 Ansible Vault를 사용하여 암호를 저장하고 플레이북 파일에서 Vault 파일을 참조하는 것이 좋습니다(예: install-client.yml ).

        Ansible Vault 파일의 인벤토리 파일 및 암호를 사용하는 플레이북 파일의 예

        - name: Playbook to configure IPA clients with username/password
          hosts: ipaclients
          become: true
          vars_files:
          - playbook_sensitive_data.yml
        
          roles:
          - role: ipaclient
            state: present

      • 덜 안전하게, inventory/hosts 파일의 [ipaclients:vars] 섹션에서 ipaadmin_password 옵션을 사용하여 admin 의 자격 증명을 제공합니다. 또는 권한 있는 다른 사용자를 지정하려면 사용자 이름에 ipaadmin_principal 옵션을 사용하고 암호에 ipaadmin_password 옵션을 사용합니다. inventory/hosts 인벤토리 파일과 install-client.yml 플레이북 파일은 다음과 같이 표시될 수 있습니다.

        인벤토리 호스트 파일 예

        [...]
        [ipaclients:vars]
        ipaadmin_principal=my_admin
        ipaadmin_password=Secret123

        인벤토리 파일에서 주체 및 암호를 사용하는 플레이북의 예

        - name: Playbook to unconfigure IPA clients
          hosts: ipaclients
          become: true
        
          roles:
          - role: ipaclient
            state: true

    • 이전 등록의 클라이언트 키탭 이 계속 사용 가능한 경우.

      이 옵션은 이전에 시스템이 ID 관리 클라이언트로 등록된 경우 사용할 수 있습니다. 이 인증 방법을 사용하려면 #ipaclient_keytab 옵션의 주석을 제거하고 keytab을 저장하는 파일의 경로를 지정합니다(예: inventory/hosts[ipaclient:vars] 섹션).

    • 등록 중에 생성되는 임의의 OTP(one-time password )입니다. 이 인증 방법을 사용하려면 인벤토리 파일에서 ipaclient_use_otp=yes 옵션을 사용합니다. 예를 들어 inventory/hosts 파일의 [ipa clients:vars] 섹션에서 ipaclient _use_otp=yes 옵션의 주석을 해제할 수 있습니다. OTP에서는 다음 옵션 중 하나를 지정해야 합니다.

      • 예를 들어 inventory/hosts 파일의 [ipaclients:vars] 섹션에 ipaadmin_password 값을 제공하여 클라이언트를 등록하도록 인증된 사용자의 암호입니다.
      • 예를 들어 admin keytab (예: 인벤토리/호스트의 [ipaclients:vars] 섹션에 ipaadmin_keytab 값을 제공하여).
  3. [선택 사항] [선택 사항] ipaclient_configure_dns_resolveipaclient_dns_servers 옵션(사용 가능한 경우)을 사용하여 DNS 확인 프로그램을 지정하여 클러스터 배포를 단순화합니다. IdM 배포가 통합된 DNS를 사용하는 경우 특히 유용합니다.

    DNS 확인자를 지정하는 인벤토리 파일 스니펫:

    [...]
    [ipaclients:vars]
    ipaadmin_password: "{{ ipaadmin_password }}"
    ipaclient_domain=idm.example.com
    ipaclient_configure_dns_resolver=true
    ipaclient_dns_servers=192.168.100.1

    참고

    ipaclient_dns_servers 목록에는 IP 주소만 포함되어야 합니다. 호스트 이름은 허용되지 않습니다.

  4. RHEL 8.9부터 ipaclient_subid: true 옵션을 지정하여 IdM 수준에서 IdM 사용자에 대해 하위 범위를 구성할 수도 있습니다.

추가 리소스