11.5. 관리자가 아닌 사용자가 사용자 항목을 관리하도록 허용
기본적으로
admin
사용자만 사용자 라이프사이클을 관리하고 사용자 계정을 비활성화 또는 활성화할 수 있습니다. 관리자가 아닌 다른 사용자가 이 작업을 수행할 수 있도록 하려면 새 역할을 생성하고, 관련 권한을 이 역할에 추가하고, 관리자가 아닌 사용자를 역할에 할당합니다.
기본적으로 IdM에는 사용자 계정 관리와 관련된 다음 권한이 포함됩니다.
- 사용자 수정 및 암호 재설정
- 이 권한에는 다양한 사용자 속성을 수정할 수 있는 권한이 포함됩니다.
- 사용자 관리자
- 이 권한에는 활성 사용자를 추가하고, 비활성 사용자를 활성화하며, 사용자를 제거하고, 사용자 속성 및 기타 권한을 수정하는 권한이 포함됩니다.
- 사용자 프로비저닝 단계
- 이 권한에는 스테이징 사용자를 추가할 수 있는 권한이 포함됩니다.
- 사용자 관리자 단계
- 이 권한에는 스테이징 사용자 추가 또는 라이프사이클 상태 간 사용자 이동 등의 다양한 라이프사이클 작업을 수행할 수 있는 권한이 포함됩니다. 그러나 사용자를 active 상태로 이동할 수 있는 권한은 포함되지 않습니다.
역할, 권한 및 권한 정의에 대한 자세한 내용은 10.4절. “역할 기반 액세스 제어 정의” 을 참조하십시오.
다른 사용자가 다른 사용자 관리 작업을 수행할 수 있도록 허용
사용자 계정 관리와 관련된 다양한 권한을 다른 사용자에게 추가할 수 있습니다. 예를 들어 다음을 통해 직원 계정 항목 및 활성화에 대한 권한을 분리할 수 있습니다.
- 1명의 사용자를 스테이징 사용자 관리자로 구성합니다. 이 관리자는 향후 직원을 IdM에 스테이징 사용자로 추가할 수 있지만 활성화할 수는 없습니다.
- 다른 사용자를 보안 관리자로 구성합니다. 이 관리자는 고용 첫 날 직원 자격 증명을 확인한 후 스테이징 사용자를 활성화할 수 있습니다.
사용자가 특정 사용자 관리 작업을 수행할 수 있도록 하려면 필요한 권한 또는 권한으로 새 역할을 생성하고 해당 역할에 사용자를 할당합니다.
예 11.1. 관리자 권한이 없는 사용자 추가 허용
이 예에서는 새 스테이징 사용자만 추가할 수 있지만 다른 단계의 사용자 관리 작업을 수행하지 않는 사용자를 생성하는 방법을 보여줍니다.
- 역할 기반 액세스 제어를 관리할 수 있는
관리자
또는 다른 사용자로 로그인합니다.$ kinit admin
- 새 사용자 지정 역할을 만들어 스테이징 사용자 추가를 관리합니다.
시스템 프로비저닝
역할을 생성합니다.$ ipa role-add --desc "Responsible for provisioning stage users" "System Provisioning" -------------------------------- Added role "System Provisioning" -------------------------------- Role name: System Provisioning Description: Responsible for provisioning stage users
- 역할에
Stage User Provisioning
권한을 추가합니다. 이 권한은 스테이징 사용자를 추가할 수 있는 기능을 제공합니다.$ ipa role-add-privilege "System Provisioning" --privileges="Stage User Provisioning" Role name: System Provisioning Description: Responsible for provisioning stage users Privileges: Stage User Provisioning ---------------------------- Number of privileges added 1 ----------------------------
- 관리자가 아닌 사용자에게 스테이징 사용자를 추가할 권한을 부여합니다.
- 관리자가 아닌 사용자가 아직 없으면 새 사용자를 만듭니다. 이 예제에서 사용자 이름은
stage_user_admin
입니다.$ ipa user-add stage_user_admin --password First name: first_name Last name: last_name Password: Enter password again to verify: ...
stage_user_admin
사용자를System Provisioning
역할에 할당합니다.$ ipa role-add-member "System Provisioning" --users=stage_user_admin Role name: System Provisioning Description: Responsible for provisioning stage users Member users: stage_user_admin Privileges: Stage User Provisioning ------------------------- Number of members added 1 -------------------------
System Provisioning
역할이 올바르게 구성되었는지 확인하려면 ipa role-show 명령을 사용하여 역할 설정을 표시할 수 있습니다.$ ipa role-show "System Provisioning" -------------- 1 role matched -------------- Role name: System provisioning Description: Responsible for provisioning stage users Member users: stage_user_admin Privileges: Stage User Provisioning ---------------------------- Number of entries returned 1 ----------------------------
- 새 stage 사용자를
stage_user_admin
사용자로 추가하는 것을 테스트합니다.stage_user_admin
으로 로그인합니다. 이전 단계 중 하나에서stage_user_admin
을 새 사용자로 생성한 경우 IdM은admin
이 설정한 초기 암호를 변경하도록 요청합니다.$ kinit stage_user_admin Password for stage_user_admin@EXAMPLE.COM: Password expired. You must change it now. Enter new password: Enter it again:
- admin의 Kerberos 티켓이
stage_user_
의 Kerberos 티켓으로 교체되었는지 확인하려면admin
klist
유틸리티를 사용할 수 있습니다.$ klist Ticket cache: KEYRING:persistent:0:krb_ccache_xIlCQDW Default principal: stage_user_admin@EXAMPLE.COM Valid starting Expires Service principal 02/25/2016 11:42:20 02/26/2016 11:42:20 krbtgt/EXAMPLE.COM
- 새 stage 사용자를 추가합니다.
$ ipa stageuser-add stage_user First name: first_name Last name: last_name ipa: ERROR: stage_user: stage user not found
참고스테이징 사용자를 추가한 후 IdM이 보고하는 오류입니다.stage_user_admin
은 단계 사용자만 추가할 수 있으며 이에 대한 정보는 표시하지 않습니다. 따라서 새로 추가된stage_user
설정 요약을 표시하는 대신 IdM에서 오류를 표시합니다.
stage_user_admin
사용자는 스테이지 사용자에 대한 정보를 표시할 수 없습니다. 따라서 stage_user_admin
으로 로그인하는 동안 새 stage_user
사용자에 대한 정보를 표시하려고 하면 실패합니다.
$ ipa stageuser-show stage_user ipa: ERROR: stage_user: stage user not found
stage_user
에 대한 정보를 표시하려면 admin
으로 로그인합니다.
$ kinit admin Password for admin@EXAMPLE.COM: $ ipa stageuser-show stage_user User login: stage_user First name: Stage Last name: User ...