29.7. Ansible을 사용하여 IdM RBAC 역할이 없는지 확인합니다.
IdM(Identity Management)에서 역할 기반 액세스 제어(RBAC)를 관리하는 시스템 관리자는 실수로 사용자에게 할당하지 않도록 사용되지 않는 역할이 없는지 확인해야 합니다.
다음 절차에서는 Ansible 플레이북을 사용하여 역할이 없는지 확인하는 방법을 설명합니다. 아래 예제에서는 사용자 지정 user_and_host_administrator 역할이 IdM에 없는지 확인하는 방법을 설명합니다.
사전 요구 사항
- IdM 관리자 암호를 알고 있습니다.
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.14 이상을 사용하고 있습니다.
-
Ansible 컨트롤러에
ansible-freeipa
패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password
를 저장하는 것으로 가정합니다.
-
ansible-freeipa
모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
절차
~/<MyPlaybooks>/ 디렉터리로 이동합니다.
$ cd ~/<MyPlaybooks>/
/usr/share/doc/ansible
파일의 복사본을 만듭니다.-freeipa/playbooks/role/ 디렉터리에 있는 role-is-
absent.yml$ cp /usr/share/doc/ansible-freeipa/playbooks/role/role-is-absent.yml role-is-absent-copy.yml
-
편집할
role-is-absent-copy.yml
Ansible 플레이북 파일을 엽니다. iparole
작업 섹션에서 다음 변수를 설정하여 파일을 조정합니다.-
ipaadmin_password
변수를 IdM 관리자의 암호로 설정합니다. -
name
변수를 역할의 이름으로 설정합니다. -
state
변수가absent
로 설정되어 있는지 확인합니다.
이는 현재 예제에 대한 수정된 Ansible 플레이북 파일입니다.
--- - name: Playbook to manage IPA role with members. hosts: ipaserver become: true gather_facts: no vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - iparole: ipaadmin_password: "{{ ipaadmin_password }}" name: user_and_host_administrator state: absent
-
- 파일을 저장합니다.
Ansible 플레이북을 실행합니다. Playbook 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일, 인벤토리 파일을 지정합니다.
$ ansible-playbook --vault-password-file=password_file -v -i ~/<MyPlaybooks>/inventory role-is-absent-copy.yml
추가 리소스
- Ansible Vault를 사용하여 콘텐츠 암호화를 참조하십시오.
- IdM의 역할을 참조하십시오.
-
/usr/share/doc/ansible-freeipa/
디렉토리에서README-role
Markdown 파일을 참조하십시오. -
/usr/share/doc/ansible-freeipa/playbooks/iparole
디렉터리에서 샘플 플레이북을 참조하십시오.