27장. Ansible 플레이북을 사용하여 Identity Management 클라이언트 설치
Ansible 을 사용하여 IdM(Identity Management) 클라이언트로 시스템을 구성하는 방법에 대해 자세히 알아보십시오. 시스템을 IdM 클라이언트로 구성하여 IdM 도메인에 등록하고, 시스템이 도메인의 IdM 서버에서 IdM 서비스를 사용할 수 있도록 합니다.
배포는 ipaclient
Ansible 역할에 의해 관리됩니다. 기본적으로 이 역할은 자동 검색 모드를 사용하여 IdM 서버, 도메인 및 기타 설정을 식별합니다. Ansible 플레이북이 인벤토리 파일에서 지정된 설정을 사용하도록 역할을 수정할 수 있습니다.
사전 요구 사항
- Ansible 제어 노드에 ansible-freeipa 패키지를 설치했습니다.
- Ansible 버전 2.15 이상을 사용하고 있습니다.
- 일반적인 Ansible 및 IdM 개념을 이해하고 있습니다.
27.1. 자동 검색 클라이언트 설치 모드에 대한 인벤토리 파일의 매개변수 설정
Ansible 플레이북을 사용하여 IdM(Identity Management) 클라이언트를 설치하려면 인벤토리 파일에서 대상 호스트 매개변수를 구성합니다. 예를 들면 다음과 같습니다.
- 호스트에 대한 정보
- 작업 권한 부여
인벤토리 파일은 보유한 인벤토리 플러그인에 따라 여러 형식 중 하나일 수 있습니다. INI와 유사한
형식은 Ansible의 기본값 중 하나이며 아래 예제에서 사용됩니다.
RHEL의 그래픽 사용자 인터페이스와 함께 스마트 카드를 사용하려면 Ansible 플레이북에 ipaclient_mkhomedir
변수를 포함해야 합니다.
절차
-
편집을 위해
인벤토리
파일을 엽니다. IdM 클라이언트가 될 호스트의 정규화된 호스트 이름(FQDN)을 지정합니다. 정규화된 도메인 이름은 유효한 DNS 이름이어야 합니다.
-
숫자, 영문자 및 하이픈(
-
)만 허용됩니다. 예를 들어 밑줄은 허용되지 않으며 DNS 오류가 발생할 수 있습니다. - 호스트 이름은 모두 소문자여야 합니다. 대문자는 사용할 수 없습니다.
IdM DNS 영역에 SRV 레코드가 올바르게 설정된 경우 스크립트에서 다른 모든 필수 값을 자동으로 검색합니다.
클라이언트 FQDN이 정의된 간단한 인벤토리 호스트 파일의 예
[ipaclients] client.idm.example.com [...]
-
숫자, 영문자 및 하이픈(
클라이언트 등록 자격 증명을 지정합니다. 다음 인증 방법을 사용할 수 있습니다.
클라이언트를 등록할 권한이 있는 사용자의 암호 입니다. 이는 기본 옵션입니다.
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
파일의[
옵션을 사용하여 admin의 자격 증명을 제공하십시오. 또는 권한이 있는 다른 사용자를 지정하려면 사용자 이름에ipaclients:vars]
섹션에서 ipaadmin
_passwordipaadmin_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)입니다. 이 인증 방법을 사용하려면 인벤토리 파일에서
ipaclient_use_otp=true
옵션을 사용합니다. 예를 들어inventory/hosts
파일의[ipaclients:vars]
섹션에서ipaclient_use_otp=true
옵션의 주석을 해제할 수 있습니다. OTP를 사용하면 다음 옵션 중 하나를 지정해야 합니다.-
예를 들어
inventory/hosts
파일 의[ipaclients:vars]
섹션에ipaadmin_password
값을 제공하여 클라이언트 등록 권한이 있는 사용자의 암호입니다. -
예를 들어
inventory/hosts
의[ipaclients:vars]
섹션에ipaadmin_keytab
의 값을 제공하여 admin keytab.
-
예를 들어
선택 사항:
ipaclient_configure_dns_resolve
및ipaclient_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 주소만 포함되어야 합니다. 호스트 이름은 허용되지 않습니다.-
RHEL 9.3부터
ipaclient_subid: true
옵션을 지정하여 IdM 수준에서 IdM 사용자에 대해 하위 범위를 구성할 수도 있습니다.
추가 리소스
-
/usr/share/ansible/roles/ipaclient/README.md
- 수동으로 subID 범위 관리