27장. 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 플레이 및 플레이북
27.1. 자동 검색 클라이언트 설치 모드에 대한 인벤토리 파일의 매개변수 설정
Ansible 플레이북을 사용하여 Identity Management 클라이언트를 설치하려면 인벤토리 파일에서 대상 호스트 매개 변수를 구성합니다(예: inventory/hosts
).
- 호스트에 대한 정보
- 작업 권한 부여
인벤토리 파일은 보유한 인벤토리 플러그인에 따라 여러 형식 중 하나일 수 있습니다. INI와 유사한
형식은 Ansible의 기본값 중 하나이며 아래 예제에서 사용됩니다.
RHEL의 그래픽 사용자 인터페이스와 함께 스마트 카드를 사용하려면 Ansible 플레이북에 ipaclient_mkhomedir
변수를 포함해야 합니다.
사전 요구 사항
- 제어 노드에서 배포 지침을 확인하고 install-client.yml 파일의 매개변수 확인을 참조하십시오.
절차
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=yes
옵션을 사용합니다. 예를 들어inventory/hosts
파일의[ipaclients:vars]
섹션에서ipaclient_use_otp=yes
옵션의 주석을 달 수 있습니다. 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 범위 관리