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
변수를 포함해야 합니다.
사전 요구 사항
- 제어 노드에서 배포 지침을 확인하고 install-client.yml 파일의 매개변수 확인을 참조하십시오.
절차
IdM 클라이언트가 될 호스트의 정규화된 호스트 이름(FQDN)을 지정합니다. 정규화된 도메인 이름은 유효한 DNS 이름이어야 합니다.
-
숫자, 영문자 및 하이픈(
-
)만 허용됩니다. 예를 들어 밑줄은 허용되지 않으며 DNS 오류가 발생할 수 있습니다. - 호스트 이름은 모두 소문자여야 합니다. 대문자는 허용되지 않습니다.
SRV 레코드가 IdM DNS 영역에 올바르게 설정된 경우 스크립트는 기타 필요한 모든 값을 자동으로 검색합니다.
정의된 클라이언트 FQDN만 있는 간단한 인벤토리 호스트 파일의 예
[ipaclients] client.idm.example.com [...]
-
숫자, 영문자 및 하이픈(
클라이언트 등록에 필요한 자격 증명을 지정합니다. 다음과 같은 인증 방법을 사용할 수 있습니다.
고객 등록에 승인된 사용자의 암호입니다. 기본 옵션입니다.
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
옵션의 주석을 해제할 수 있습니다. OTP에서는 다음 옵션 중 하나를 지정해야 합니다.clients:vars] 섹션에서 ipaclient
_use_otp=yes-
예를 들어
inventory/hosts
파일의[ipaclients:vars]
섹션에ipaadmin_password
값을 제공하여 클라이언트를 등록하도록 인증된 사용자의 암호입니다. -
예를 들어 admin keytab (예: 인벤토리/호스트의
[ipaclients:vars]
섹션에ipaadmin_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 8.9부터
ipaclient_subid: true
옵션을 지정하여 IdM 수준에서 IdM 사용자에 대해 하위 범위를 구성할 수도 있습니다.
추가 리소스
-
/usr/share/ansible/roles/ipaclient/README.md
- 수동으로 subID 범위 관리