9.3. CLI를 사용하여 IdM 클라이언트의 AD 사용자에게 sudo 액세스 권한 부여
IdM(Identity Management) 시스템 관리자는 IdM 사용자 그룹을 사용하여 IdM 사용자에 대한 액세스 권한, 호스트 기반 액세스 제어, sudo 규칙 및 기타 제어를 설정할 수 있습니다. IdM 사용자 그룹은 IdM 도메인 리소스에 대한 액세스 권한을 부여하고 제한합니다.
AD(Active Directory) 사용자와 AD 그룹을 모두 IdM 사용자 그룹에 추가할 수 있습니다. 다음을 수행하려면 다음을 수행합니다.
- POSIX가 아닌 외부 IdM 그룹에 AD 사용자 또는 그룹을 추가합니다.
- POSIX 이외의 외부 IdM 그룹을 IdM POSIX 그룹에 추가합니다.
그런 다음 POSIX 그룹의 권한을 관리하여 AD 사용자의 권한을 관리할 수 있습니다. 예를 들어 특정 IdM 호스트의 IdM POSIX 사용자 그룹에 특정 명령에 대한 sudo 액세스 권한을 부여할 수 있습니다.
AD 사용자 그룹을 IdM 외부 그룹의 멤버로 추가할 수도 있습니다. 이렇게 하면 단일 AD 영역 내에서 사용자와 그룹 관리를 유지하여 Windows 사용자에 대한 정책을 보다 쉽게 정의할 수 있습니다.
IdM의 SUDO 규칙에 AD 사용자의 ID 덮어쓰기를 사용하지 마십시오. AD 사용자의 ID 덮어쓰기는 AD 사용자가 아닌 AD 사용자의 POSIX 속성만 나타냅니다.
그룹 멤버로 ID 덮어쓰기를 추가할 수 있습니다. 그러나 이 기능은 IdM API에서 IdM 리소스를 관리하는 데만 사용할 수 있습니다. 그룹 멤버가 POSIX 환경으로 확장되지 않으므로 ID 덮어쓰기를 POSIX 환경으로 확장할 수 없으므로 sudo 또는 HBAC(Host-based Access Control) 규칙의 멤버십에는 사용할 수 없습니다.
다음 절차에 따라 administrator@ad-domain.com AD 사용자에게 root 사용자를 위해 예약된 idmclient IdM 호스트에서 /usr/sbin/reboot 명령을 실행할 수 있는 권한을 부여하는 ad_users_reboot sudo 규칙을 생성합니다. administrator@ad-domain.com 는 ad_users_external 비POSIX 그룹의 멤버입니다. 다음으로 ad_users POSIX 그룹의 멤버입니다.
사전 요구 사항
-
IdM
adminKerberos 티켓(TGT)이 있습니다. - IdM 도메인과 ad-domain.com AD 도메인 사이에 교차 신뢰가 있습니다.
-
idmclient 호스트에 로컬 관리자 계정이 없습니다. administrator 사용자는 로컬
/etc/passwd파일에 나열되지 않습니다.
절차
administrator@ad-domain 멤버가 있는 ad_users _external 그룹이 포함된 ad_users 그룹을 생성합니다.
- 선택 사항: IdM 영역에서 AD 사용자를 관리하는 데 사용할 AD 도메인에서 해당 그룹을 생성하거나 선택합니다. 여러 AD 그룹을 사용하여 IdM 측면의 다른 그룹에 추가할 수 있습니다.
ad_users_external 그룹을 생성하고
--external옵션을 추가하여 IdM 도메인 외부에서 멤버가 포함되어 있음을 나타냅니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고여기에서 지정하는 외부 그룹이 Active Directory 보안 그룹 문서에 정의된 대로
글로벌또는Universal그룹 범위가 있는 AD 보안 그룹 인지 확인합니다. 예를 들어, 해당 그룹 범위가 도메인로컬이므로 도메인 사용자 또는 도메인 관리자 AD 보안 그룹을 사용할 수 없습니다.ad_users 그룹을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow administrator@ad-domain.com AD 사용자를 ad_users_external 에 외부 멤버로 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AD 사용자는
DOMAIN\user_name또는user_name@DOMAIN과 같은 정규화된 이름으로 식별되어야 합니다. 그러면 AD ID가 사용자의 AD SID에 매핑됩니다. AD 그룹 추가에도 동일하게 적용됩니다.ad_users_external 을 ad_users 에 멤버로 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ad_users 의 멤버에게 idmclient 호스트에서
/usr/sbin/reboot를 실행할 수 있는 권한을 부여합니다./usr/sbin/reboot명령을sudo명령의 IdM 데이터베이스에 추가합니다.ipa sudocmd-add /usr/sbin/reboot
[root@idmclient ~]# ipa sudocmd-add /usr/sbin/reboot ------------------------------------- Added Sudo Command "/usr/sbin/reboot" ------------------------------------- Sudo Command: /usr/sbin/rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow ad_users_reboot:라는
sudo규칙을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ad_users_reboot 규칙에
/usr/sbin/reboot명령을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow IdM idmclient 호스트에 ad_users_reboot 규칙을 적용합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ad_users_ reboot 규칙에 ad_users 그룹을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
서버에서 클라이언트로 변경 사항을 전파하는 데 몇 분이 걸릴 수 있습니다.
검증
idmclient 호스트에 administrator@ad-domain.com,
ad_users그룹의 간접 멤버로 로그인합니다.ssh administrator@ad-domain.com@ipaclient
$ ssh administrator@ad-domain.com@ipaclient Password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항:
administrator@ad-domain.com에서 실행할 수 있는sudo명령을 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo를 사용하여 시스템을 재부팅합니다. 메시지가 표시되면administrator@ad-domain.com의 암호를 입력합니다.[administrator@ad-domain.com@idmclient ~]$ sudo /usr/sbin/reboot [sudo] password for administrator@ad-domain.com:
[administrator@ad-domain.com@idmclient ~]$ sudo /usr/sbin/reboot [sudo] password for administrator@ad-domain.com:Copy to Clipboard Copied! Toggle word wrap Toggle overflow