27.3. Ansible을 사용하여 IdM 사용자 그룹 automember 규칙에 조건이 없는지 확인합니다.
다음 절차에서는 Ansible 플레이북을 사용하여 IdM(Identity Management) 그룹의 자동 멤버 규칙에 조건이 없는지 확인하는 방법을 설명합니다. 이 예제에서는 automember 규칙에 초기 항목이 dp 인 사용자를 포함해야 함을 지정하는 조건이 있는지 확인합니다. automember 규칙은 testing_group 그룹에 적용됩니다. 조건을 적용하면 초기 항목이 test_group인 향후 IdM 사용자가 testing_group 의 멤버가 되도록 합니다.
사전 요구 사항
- testing_group 사용자 그룹과 automember 사용자 그룹 규칙이 IdM에 있습니다.
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.15 이상을 사용하고 있습니다.
-
ansible-freeipa패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybooks/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible vault가
ipaadmin_password를 저장하고 secret.yml 파일을 보호하는 암호를 저장하는 파일에 대한 액세스 권한이 있다고 가정합니다.
-
freeipa.ansible_freeipa모듈이 실행되는 대상 노드인 대상 노드는 IdM 도메인의 일부입니다. IdM 클라이언트, 서버 또는 복제본입니다.
프로세스
~/MyPlaybooks/ 디렉터리로 이동합니다.
$ cd ~/MyPlaybooks//usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/automember/디렉터리에 있는automember-hostgroup-rule-absent.ymlAnsible 플레이북 파일을 복사하여 이름을 (예: automember-usergroup-rule-absent.yml:)로 지정합니다.$ cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/automember/automember-hostgroup-rule-absent.yml automember-usergroup-rule-absent.yml-
편집할
automember-usergroup-rule-absent.yml파일을 엽니다. 다음 매개변수를 수정하여 파일을 조정합니다.
- 사용 사례에 해당하도록 플레이북의 이름을 변경합니다(예: Automember 사용자 그룹 규칙 멤버 absent ).
- 사용 사례에 해당하도록 작업의 이름을 변경합니다(예: 사용자 그룹의 자동 구성원 조건이 없는지 확인 ).
freeipa.ansible_freeipa.ipaautomember작업 섹션에서 다음 변수를 설정합니다.-
ipaadmin_password변수를 IdM관리자의 암호로 설정합니다. -
name변수를 testing_group 으로 설정합니다. -
automember_type변수를 group 로 설정합니다. -
state변수가absent로 설정되어 있는지 확인합니다. -
action변수가member로 설정되어 있는지 확인합니다. -
포함키변수를initials로 설정합니다. -
포함표현식변수를 dp 로 설정합니다.
-
현재 예에 대해 수정된 Ansible 플레이북 파일입니다.
--- - name: Automember user group rule member absent hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure an automember condition for a user group is absent freeipa.ansible_freeipa.ipaautomember: ipaadmin_password: "{{ ipaadmin_password }}" name: testing_group automember_type: group state: absent action: member inclusive: - key: initials expression: dp- 파일을 저장합니다.
Ansible 플레이북을 실행합니다. 플레이북 파일을 지정하고 secret.yml 파일을 보호하는 암호를 저장하는 파일 및 인벤토리 파일을 지정합니다.
$ ansible-playbook --vault-password-file=password_file -v -i inventory automember-usergroup-rule-absent.yml
검증
IdM 관리자로 로그인합니다.
$ kinit adminautomember 그룹을 확인합니다.
$ ipa automember-show --type=group testing_group Automember Rule: testing_group
출력에 Inclusive Cryostat: initials=dp 항목이 없으면 testing_group automember 규칙에 지정된 조건이 포함되어 있지 않음을 확인합니다.