4.5. IdM API 명령을 사용하여 호스트 기반 액세스 제어 관리
아래 예제에서는 IdM API 명령을 사용하여 HBAC(Host-based Access Control)를 관리하는 방법에 대한 일반적인 시나리오를 보여줍니다.
IdM API 명령을 사용하여 HBAC를 관리하는 예
- HBAC 규칙 생성
이 예제에서는 SSH 서비스 액세스를 처리할 기본 규칙을 생성합니다.
api.Command.hbacrule_add("sshd_rule")
- HBAC 규칙에 사용자 추가
이 예제에서는 사용자
john
을sshd_rule
HBAC 규칙에 추가합니다.api.Command.hbacrule_add_user("sshd_rule", user="john")
- HBAC 규칙에 그룹 추가
이 예제에서는 그룹
developers
를sshd_rule
HBAC 규칙에 추가합니다.api.Command.hbacrule_add_user("sshd_rule", group="developers")
- HBAC 규칙에서 사용자 제거
이 예에서는
sshd_rule
HBAC 규칙에서john
사용자를 제거합니다.api.Command.hbacrule_remove_user("sshd_rule", user="john")
- 새 대상 HBAC 서비스 등록
HBAC 규칙에 연결하려면 먼저 대상 서비스를 등록해야 합니다. 이 예에서는
chronyd
서비스를 등록합니다.api.Command.hbacsvc_add("chronyd")
- HBAC 규칙에 등록된 서비스 연결
이 예에서는
sshd
서비스를sshd_rule
HBAC 규칙에 연결합니다. 이 서비스는 기본적으로 IPA에 등록되므로 사전에hbacsvc_add
를 사용하여 등록할 필요가 없습니다.api.Command.hbacrule_add_service("sshd_rule", hbacsvc="sshd")
- HBAC 규칙에 호스트 추가
이 예에서는
workstations
호스트 그룹을sshd_rule
HBAC 규칙에 추가합니다.api.Command.hbacrule_add_host("sshd_rule", hostgroup="workstations")
- HBAC 규칙 테스트
이 예에서는
workstation.ipa.test
호스트에 대해sshd_rule
HBAC 규칙을 사용합니다. 사용자john
에서 제공되는 서비스sshd
를 대상으로 합니다.api.Command.hbactest(user="john", targethost="workstation.ipa.test", service="sshd", rules="sshd_rule")
- HBAC 규칙 활성화
이 예제에서는
sshd_rule
HBAC 규칙을 활성화합니다.api.Command.hbacrule_enable("sshd_rule")
- HBAC 규칙 비활성화
이 예제에서는
sshd_rule
HBAC 규칙을 비활성화합니다.api.Command.hbacrule_disable("sshd_rule")