21.2. Ansible 플레이북을 사용하여 IdM에 HBAC 규칙이 있는지 확인
Ansible 플레이북을 사용하여 IdM(Identity Management)에 호스트 기반 액세스 제어(HBAC) 규칙이 있는지 확인하려면 다음 절차를 따르십시오.
사전 요구 사항
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.14 이상을 사용하고 있습니다.
-
Ansible 컨트롤러에
ansible-freeipa
패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password
를 저장한다고 가정합니다.
-
ansible-freeipa
모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다. - HBAC 규칙에 사용할 사용자 및 사용자 그룹은 IdM에 있습니다. 자세한 내용은 Ansible 플레이북을 사용하여 사용자 계정 관리 및 Ansible 플레이북을 사용하여 IdM 그룹 및 그룹 멤버가 있는지 확인합니다.
- HBAC 규칙을 적용할 호스트 및 호스트 그룹이 IdM에 있습니다. 자세한 내용은 Ansible 플레이북을 사용하여 호스트 관리 및 Ansible 플레이북을 사용하여 호스트 그룹을 관리하십시오.
절차
인벤토리 파일(예:
inventory.file
)을 생성하고ipaserver
를 이 파일에 정의합니다.[ipaserver] server.idm.example.com
확인하려는 HBAC 정책을 정의하는 Ansible 플레이북 파일을 생성합니다. 이 단계를 단순화하기 위해
/usr/share/doc/ansible-freeipa/playbooks/hbacrule/ensure-hbacrule-allhosts-present.yml
파일에서 예제를 복사하고 수정할 수 있습니다.--- - name: Playbook to handle hbacrules hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: # Ensure idm_user can access client.idm.example.com via the sshd service - ipahbacrule: ipaadmin_password: "{{ ipaadmin_password }}" name: login user: idm_user host: client.idm.example.com hbacsvc: - sshd state: present
플레이북을 실행합니다.
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-new-hbacrule-present.yml
검증
- 관리자 권한으로 IdM 웹 UI에 로그인합니다.
-
정책
호스트 기반 액세스 제어 HBAC 테스트 로 이동합니다. - who 탭에서 idm_user를 선택합니다.
- 액세스 탭에서 client.idm.example.com 을 선택합니다.
- Via 서비스 탭에서 sshd 를 선택합니다.
- 규칙 탭에서 로그인 을 선택합니다.
- Run test (테스트 실행) 탭에서 Run test( 테스트 실행 ) 버튼을 클릭합니다. ACCESS GRANTED가 표시되면 HBAC 규칙이 성공적으로 구현됩니다.
추가 리소스
-
/usr/share/doc/ansible-freeipa
디렉터리의README-hbacsvcgroup.md
,README-hbacrule.md
파일을 참조하십시오. -
/usr/share/doc/ansible-freeipa/playbooks
디렉터리의 하위 디렉터리에 있는 플레이북을 참조하십시오.