57.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를 선택합니다.
- Accessing(액세스 ) 탭에서 client.idm.example.com 을 선택합니다.
- Via service 탭에서 sshd 를 선택합니다.
- Rules(규칙 ) 탭에서 로그인을 선택합니다.
- Run test(테스트 실행 ) 탭에서 Run test( 테스트 실행 ) 단추를 클릭합니다. ACCESS GRANTED가 표시되면 HBAC 규칙이 성공적으로 구현됩니다.
추가 리소스
-
/usr/share/doc/ansible-freeipa
디렉터리의README-hbacsvcgroup.md
,README-hbacrule.md
파일을 참조하십시오. -
/usr/share/doc/ansible-freeipa/playbooks
디렉터리의 하위 디렉토리에 있는 플레이북을 참조하십시오.