Skip to main content

사용자 역할 관리

1. 개요

ECI 관리자가 조직 내 사용자에게 부여할 역할(Role)을 생성하고 관리할 수 있는 기능을 제공합니다. 역할 기반 접근 제어(RBAC)를 통해 사용자별로 적절한 권한을 부여하여 보안을 강화하고 업무 효율성을 높일 수 있습니다.

2. RBAC란?

RBAC (Role-Based Access Control, 역할 기반 접근 제어) 는 사용자에게 직접 권한을 부여하는 대신, 역할(Role)을 통해 권한을 관리하는 접근 제어 방식입니다.

2.1 기본 개념

┌─────────┐     할당      ┌─────────┐     포함      ┌─────────┐
│ 사용자 │ ──────────▶ │ 역할 │ ──────────▶ │ 권한 │
└─────────┘ └─────────┘ └─────────┘
User Role Permission
  • 사용자(User): 시스템을 사용하는 개인
  • 역할(Role): 권한의 묶음. 예: "VM 관리자", "조회 전용 사용자"
  • 권한(Permission): 특정 리소스에 대한 특정 작업 수행 능력. 예: "가상 머신 생성", "블록 스토리지 조회"

2.2 RBAC의 장점

  • 관리 효율성: 개별 사용자마다 권한을 설정하지 않고, 역할 단위로 관리
  • 보안 강화: 최소 권한 원칙(Principle of Least Privilege) 적용 용이
  • 일관성: 동일 역할의 사용자는 동일한 권한을 가짐
  • 감사 용이성: 역할 기반으로 권한 현황 파악 가능

3. 용어 설명

3.1 역할 (Role)

역할은 권한의 집합입니다. 하나의 역할에 여러 개의 권한을 포함할 수 있으며, 사용자에게 역할을 할당하면 해당 역할에 포함된 모든 권한이 부여됩니다.

역할 종류설명
기본 제공 역할 (Predefined)시스템에서 기본 제공하는 역할. 수정/삭제 불가
사용자 정의 역할 (Custom)조직에서 직접 생성한 역할. 수정/삭제 가능

3.2 권한 (Permission)

권한은 특정 리소스에 대해 특정 작업을 수행할 수 있는 능력입니다.

권한의 구조:

ACL.{섹션}.{하위섹션}.{액션}

예시:

  • ACL.Resource.Compute.VirtualMachine.CREATE - 가상 머신 생성 권한
  • ACL.Billing.Billing.READ - 빌링 정보 조회 권한

액션 종류:

액션설명
CREATE리소스 생성
READ리소스 조회
UPDATE리소스 수정
DELETE리소스 삭제
ACCESS_WEB_CONSOLE웹 콘솔 접근 (가상 머신 전용)
권한 의존성

권한은 서로 의존 관계가 있을 수 있습니다. 예를 들어:

  • 가상 머신의 CREATE, UPDATE, DELETE 권한만 부여하고 READ 권한을 부여하지 않으면, 리소스 목록을 조회할 수 없어 실제 사용이 어렵습니다.
  • 일반적으로 READ 권한은 다른 권한의 기본 전제가 됩니다. 생성, 수정, 삭제 권한을 부여할 때는 READ 권한도 함께 부여하는 것을 권장합니다.

4. 권한 카테고리

카테고리포함 리소스
일반 (General)공지사항, 조직, 리전
인프라 (Infra)블록스토리지 이미지, 인스턴스 타입, 영역
사용자 관리 (User)사용자, 사용자 역할, 사용자 초대
관리자 (Admin)관리자, 관리자 역할, 관리자 초대
결제 (Billing)결제, 이용내역
가격 (Pricing)요금제
알림 (Alert)알림 규칙, 알림 액션, 알림 이벤트
메트릭 (Metric)리소스 모니터링
리소스 (Resource)컴퓨팅, 네트워크, 스토리지 리소스

5. 권한 상세 목록

5.1 일반 (General)

리소스권한설명코드명
공지사항조회공지사항 및 업데이트 알림을 확인할 수 있습니다ACL.General.Notice.READ
조직조회소속 조직의 기본 정보를 확인할 수 있습니다ACL.General.Organization.READ
리전조회사용 가능한 리전 목록을 확인할 수 있습니다ACL.General.Region.READ

5.2 인프라 (Infra)

리소스권한설명코드명
블록 스토리지 이미지조회가상 머신 생성 시 사용할 OS 이미지 목록을 확인할 수 있습니다ACL.Infra.BlockStorageImage.READ
인스턴스 타입조회CPU, 메모리, GPU 등 인스턴스 사양 목록을 확인할 수 있습니다ACL.Infra.InstanceType.READ
영역조회리소스를 배치할 수 있는 가용 영역 목록을 확인할 수 있습니다ACL.Infra.Zone.READ

5.3 결제 (Billing)

리소스권한설명코드명
결제조회조직의 이용내역을 확인할 수 있습니다ACL.Billing.Billing.READ

5.4 가격 (Pricing)

리소스권한설명코드명
가격조회가격 정보와 가격표를 확인할 수 있습니다ACL.Pricing.Pricing.READ

5.5 메트릭 (Metric)

리소스권한설명코드명
메트릭조회CPU, 메모리, 네트워크 등 리소스 사용량 모니터링 데이터를 확인할 수 있습니다ACL.Metric.Metric.READ

5.6 알림 (Alert)

리소스권한설명코드명
알림 규칙생성리소스 모니터링을 위한 알림 규칙을 생성할 수 있습니다ACL.Alert.AlertRule.CREATE
알림 규칙조회알림 규칙 목록과 상세 설정을 확인할 수 있습니다ACL.Alert.AlertRule.READ
알림 규칙수정알림 규칙의 이름, 조건, 액션 등을 변경할 수 있습니다ACL.Alert.AlertRule.UPDATE
알림 규칙삭제알림 규칙을 삭제할 수 있습니다ACL.Alert.AlertRule.DELETE
알림 액션생성알림 발생 시 실행할 액션 템플릿을 생성할 수 있습니다ACL.Alert.AlertActionTemplate.CREATE
알림 액션조회알림 액션 템플릿 목록과 상세 설정을 확인할 수 있습니다ACL.Alert.AlertActionTemplate.READ
알림 액션수정알림 액션 템플릿의 설정을 변경할 수 있습니다ACL.Alert.AlertActionTemplate.UPDATE
알림 액션삭제알림 액션 템플릿을 삭제할 수 있습니다ACL.Alert.AlertActionTemplate.DELETE
알림 이벤트조회알림 규칙에 의해 발생한 이벤트 이력을 확인할 수 있습니다ACL.Alert.AlertEvent.READ

5.7 사용자 관리 (User)

리소스권한설명코드명
권한목록(ACL)조회사용 가능한 전체 권한 목록을 확인할 수 있습니다ACL.User.ACL.READ
사용자조회조직에 소속된 사용자 목록과 정보를 확인할 수 있습니다ACL.User.User.READ
사용자수정사용자의 역할, 이름 등 정보를 수정할 수 있습니다ACL.User.User.UPDATE
사용자삭제조직에서 사용자를 제거할 수 있습니다ACL.User.User.DELETE
활동 로그조회사용자의 로그인, 리소스 변경 등 조직의 활동 로그를 확인할 수 있습니다ACL.User.UserAudit.READ
액세스 토큰생성API 호출을 위한 액세스 토큰을 발급할 수 있습니다ACL.User.UserAccessToken.CREATE
액세스 토큰조회발급된 액세스 토큰 목록을 확인할 수 있습니다ACL.User.UserAccessToken.READ
액세스 토큰삭제발급된 액세스 토큰을 폐기할 수 있습니다ACL.User.UserAccessToken.DELETE
사용자 초대생성새로운 사용자를 조직에 초대할 수 있습니다ACL.User.UserInvite.CREATE
사용자 초대조회발송된 초대 목록과 상태를 확인할 수 있습니다ACL.User.UserInvite.READ
사용자 초대삭제발송된 초대를 취소할 수 있습니다ACL.User.UserInvite.DELETE
사용자 역할생성새로운 사용자 정의 역할을 생성할 수 있습니다ACL.User.UserRole.CREATE
사용자 역할조회역할 목록과 각 역할에 포함된 권한을 확인할 수 있습니다ACL.User.UserRole.READ
사용자 역할수정사용자 정의 역할의 이름, 설명, 권한을 수정할 수 있습니다ACL.User.UserRole.UPDATE
사용자 역할삭제사용자 정의 역할을 삭제할 수 있습니다ACL.User.UserRole.DELETE

5.8 리소스 - 컴퓨팅 (Resource.Compute)

리소스권한설명코드명
가상 머신생성새로운 가상 머신을 생성할 수 있습니다ACL.Resource.Compute.VirtualMachine.CREATE
가상 머신조회가상 머신 목록과 상세 정보를 확인할 수 있습니다ACL.Resource.Compute.VirtualMachine.READ
가상 머신수정가상 머신의 이름, 설정 등을 변경할 수 있습니다ACL.Resource.Compute.VirtualMachine.UPDATE
가상 머신삭제가상 머신을 영구적으로 삭제할 수 있습니다ACL.Resource.Compute.VirtualMachine.DELETE
가상 머신 실행생성가상 머신을 시작하여 실행 상태로 전환할 수 있습니다ACL.Resource.Compute.VirtualMachineAllocation.CREATE
가상 머신 실행조회가상 머신의 실행 상태와 리소스 할당 정보를 확인할 수 있습니다ACL.Resource.Compute.VirtualMachineAllocation.READ
가상 머신 실행수정실행 중인 가상 머신의 할당 설정을 변경할 수 있습니다ACL.Resource.Compute.VirtualMachineAllocation.UPDATE
가상 머신 실행삭제가상 머신을 중지하여 리소스 할당을 해제할 수 있습니다ACL.Resource.Compute.VirtualMachineAllocation.DELETE
가상 머신 실행웹 콘솔 접근브라우저에서 가상 머신에 직접 접속하여 조작할 수 있습니다ACL.Resource.Compute.VirtualMachineAllocation.ACCESS_WEB_CONSOLE
가상 클러스터생성여러 가상 머신을 묶은 클러스터를 생성할 수 있습니다ACL.Resource.Compute.VirtualCluster.CREATE
가상 클러스터조회가상 클러스터 목록과 상세 정보를 확인할 수 있습니다ACL.Resource.Compute.VirtualCluster.READ
가상 클러스터수정가상 클러스터의 이름, 설정 등을 변경할 수 있습니다ACL.Resource.Compute.VirtualCluster.UPDATE
가상 클러스터삭제가상 클러스터를 영구적으로 삭제할 수 있습니다ACL.Resource.Compute.VirtualCluster.DELETE
가상 클러스터 실행생성가상 클러스터를 시작하여 실행 상태로 전환할 수 있습니다ACL.Resource.Compute.VirtualClusterAllocation.CREATE
가상 클러스터 실행조회가상 클러스터의 실행 상태와 리소스 할당 정보를 확인할 수 있습니다ACL.Resource.Compute.VirtualClusterAllocation.READ
가상 클러스터 실행수정실행 중인 가상 클러스터의 할당 설정을 변경할 수 있습니다ACL.Resource.Compute.VirtualClusterAllocation.UPDATE
가상 클러스터 실행삭제가상 클러스터를 중지하여 리소스 할당을 해제할 수 있습니다ACL.Resource.Compute.VirtualClusterAllocation.DELETE

5.9 리소스 - 네트워크 (Resource.Network)

리소스권한설명코드명
네트워크 인터페이스생성가상 머신에 연결할 네트워크 인터페이스(NIC)를 생성할 수 있습니다ACL.Resource.Network.NetworkInterface.CREATE
네트워크 인터페이스조회네트워크 인터페이스 목록과 IP 주소 등 상세 정보를 확인할 수 있습니다ACL.Resource.Network.NetworkInterface.READ
네트워크 인터페이스수정네트워크 인터페이스의 설정을 변경할 수 있습니다ACL.Resource.Network.NetworkInterface.UPDATE
네트워크 인터페이스삭제네트워크 인터페이스를 삭제할 수 있습니다ACL.Resource.Network.NetworkInterface.DELETE
공인 IP생성외부 인터넷 접속을 위한 공인 IP 주소를 할당받을 수 있습니다ACL.Resource.Network.PublicIp.CREATE
공인 IP조회할당된 공인 IP 목록과 연결 상태를 확인할 수 있습니다ACL.Resource.Network.PublicIp.READ
공인 IP수정공인 IP의 연결 대상 등 설정을 변경할 수 있습니다ACL.Resource.Network.PublicIp.UPDATE
공인 IP삭제공인 IP 할당을 해제하고 삭제할 수 있습니다ACL.Resource.Network.PublicIp.DELETE
서브넷생성가상 네트워크 내에 IP 주소 범위를 정의한 서브넷을 생성할 수 있습니다ACL.Resource.Network.Subnet.CREATE
서브넷조회서브넷 목록과 IP 대역 등 상세 정보를 확인할 수 있습니다ACL.Resource.Network.Subnet.READ
서브넷수정서브넷의 설정을 변경할 수 있습니다ACL.Resource.Network.Subnet.UPDATE
서브넷삭제서브넷을 삭제할 수 있습니다ACL.Resource.Network.Subnet.DELETE
가상 네트워크생성격리된 가상 네트워크(VNet)를 생성할 수 있습니다ACL.Resource.Network.VirtualNetwork.CREATE
가상 네트워크조회가상 네트워크 목록과 구성 정보를 확인할 수 있습니다ACL.Resource.Network.VirtualNetwork.READ
가상 네트워크수정가상 네트워크의 이름, 설정 등을 변경할 수 있습니다ACL.Resource.Network.VirtualNetwork.UPDATE
가상 네트워크삭제가상 네트워크를 삭제할 수 있습니다ACL.Resource.Network.VirtualNetwork.DELETE
VPN생성VPN을 생성할 수 있습니다ACL.Resource.Network.Vpn.CREATE
VPN조회VPN 연결 목록과 상태를 확인할 수 있습니다ACL.Resource.Network.Vpn.READ
VPN수정VPN 연결 설정을 변경할 수 있습니다ACL.Resource.Network.Vpn.UPDATE
VPN삭제VPN 연결을 삭제할 수 있습니다ACL.Resource.Network.Vpn.DELETE

5.10 리소스 - 스토리지 (Resource.Storage)

리소스권한설명코드명
블록 스토리지생성가상 머신에 연결할 블록 스토리지 볼륨을 생성할 수 있습니다ACL.Resource.Storage.BlockStorage.CREATE
블록 스토리지조회블록 스토리지 목록과 용량, 상태 등 상세 정보를 확인할 수 있습니다ACL.Resource.Storage.BlockStorage.READ
블록 스토리지수정블록 스토리지의 이름, 크기 등을 변경할 수 있습니다ACL.Resource.Storage.BlockStorage.UPDATE
블록 스토리지삭제블록 스토리지를 영구적으로 삭제할 수 있습니다ACL.Resource.Storage.BlockStorage.DELETE
스냅샷생성블록 스토리지의 특정 시점 백업(스냅샷)을 생성할 수 있습니다ACL.Resource.Storage.BlockStorageSnapshot.CREATE
스냅샷조회스냅샷 목록과 생성 시간 등 상세 정보를 확인할 수 있습니다ACL.Resource.Storage.BlockStorageSnapshot.READ
스냅샷수정스냅샷의 이름 등 정보를 변경할 수 있습니다ACL.Resource.Storage.BlockStorageSnapshot.UPDATE
스냅샷삭제스냅샷을 삭제할 수 있습니다ACL.Resource.Storage.BlockStorageSnapshot.DELETE
스냅샷 스케줄러생성정기적으로 스냅샷을 생성하는 자동화 스케줄을 설정할 수 있습니다ACL.Resource.Storage.BlockStorageSnapshotScheduler.CREATE
스냅샷 스케줄러조회스냅샷 자동 생성 스케줄 설정을 확인할 수 있습니다ACL.Resource.Storage.BlockStorageSnapshotScheduler.READ
스냅샷 스케줄러수정스냅샷 스케줄의 주기, 보관 기간 등을 변경할 수 있습니다ACL.Resource.Storage.BlockStorageSnapshotScheduler.UPDATE
스냅샷 스케줄러삭제스냅샷 자동 생성 스케줄을 삭제할 수 있습니다ACL.Resource.Storage.BlockStorageSnapshotScheduler.DELETE
오브젝트 스토리지생성파일 저장을 위한 오브젝트 스토리지 버킷을 생성할 수 있습니다ACL.Resource.Storage.ObjectStorage.CREATE
오브젝트 스토리지조회오브젝트 스토리지 목록과 사용량 등을 확인할 수 있습니다ACL.Resource.Storage.ObjectStorage.READ
오브젝트 스토리지수정오브젝트 스토리지의 설정을 변경할 수 있습니다ACL.Resource.Storage.ObjectStorage.UPDATE
오브젝트 스토리지삭제오브젝트 스토리지 버킷을 삭제할 수 있습니다ACL.Resource.Storage.ObjectStorage.DELETE
오브젝트 스토리지 사용자생성오브젝트 스토리지 접근을 위한 별도 사용자 계정을 생성할 수 있습니다ACL.Resource.Storage.ObjectStorageUser.CREATE
오브젝트 스토리지 사용자조회오브젝트 스토리지 사용자 목록과 접근 키를 확인할 수 있습니다ACL.Resource.Storage.ObjectStorageUser.READ
오브젝트 스토리지 사용자수정오브젝트 스토리지 사용자의 정보를 변경할 수 있습니다ACL.Resource.Storage.ObjectStorageUser.UPDATE
오브젝트 스토리지 사용자삭제오브젝트 스토리지 사용자 계정을 삭제할 수 있습니다ACL.Resource.Storage.ObjectStorageUser.DELETE
오브젝트 스토리지 권한생성오브젝트 스토리지 사용자에게 버킷 접근 권한을 부여할 수 있습니다ACL.Resource.Storage.ObjectStorageUserGrant.CREATE
오브젝트 스토리지 권한조회오브젝트 스토리지 사용자별 권한 설정을 확인할 수 있습니다ACL.Resource.Storage.ObjectStorageUserGrant.READ
오브젝트 스토리지 권한수정오브젝트 스토리지 사용자의 권한을 변경할 수 있습니다ACL.Resource.Storage.ObjectStorageUserGrant.UPDATE
오브젝트 스토리지 권한삭제오브젝트 스토리지 사용자의 권한을 회수할 수 있습니다ACL.Resource.Storage.ObjectStorageUserGrant.DELETE
병렬 파일 시스템생성고성능 병렬 파일 시스템(PFS)을 생성할 수 있습니다ACL.Resource.Storage.ParallelFileSystem.CREATE
병렬 파일 시스템조회병렬 파일 시스템 목록과 상태를 확인할 수 있습니다ACL.Resource.Storage.ParallelFileSystem.READ
병렬 파일 시스템수정병렬 파일 시스템의 설정을 변경할 수 있습니다ACL.Resource.Storage.ParallelFileSystem.UPDATE
병렬 파일 시스템삭제병렬 파일 시스템을 삭제할 수 있습니다ACL.Resource.Storage.ParallelFileSystem.DELETE
병렬 파일 시스템 가상머신 연결생성병렬 파일 시스템에 가상 머신을 연결할 수 있습니다ACL.Resource.Storage.ParallelFileSystemMember.CREATE
병렬 파일 시스템 가상머신 연결조회병렬 파일 시스템에 연결된 가상 머신 목록을 확인할 수 있습니다ACL.Resource.Storage.ParallelFileSystemMember.READ
병렬 파일 시스템 가상머신 연결삭제병렬 파일 시스템에서 가상 머신 연결을 해제할 수 있습니다ACL.Resource.Storage.ParallelFileSystemMember.DELETE

5.11 리소스 요약 (Resource)

리소스권한설명코드명
조직 리소스 현황조회대시보드에서 조직의 전체 리소스 사용 현황을 한눈에 확인할 수 있습니다ACL.Resource.OrganizationResourceSummary.READ

6. 기능 설명

6.1 역할 목록 조회

조직에 등록된 모든 역할을 테이블 형태로 표시합니다.

  • 기본 제공 역할과 사용자 정의 역할을 구분하여 표시
  • 역할명 검색 기능 제공

6.2 역할 생성

  1. "권한 생성" 버튼 클릭
  2. 역할 기본 정보 입력 (이름, 설명)
  3. 권한 선택 (체크박스로 필요한 권한 선택)
  4. "생성" 버튼 클릭

6.3 역할 수정

  1. 수정할 역할을 클릭하여 상세 페이지 이동
  2. 상단의 "수정" 버튼 클릭
  3. 정보 수정 후 "저장" 클릭

기본 제공 역할은 수정할 수 없습니다.

6.4 역할 삭제

  1. 삭제할 역할을 클릭하여 상세 페이지 이동
  2. 상단의 "삭제" 버튼 클릭
  3. 확인 다이얼로그에서 "삭제" 클릭
주의
  • 기본 제공 역할은 삭제할 수 없습니다.
  • 사용자에게 할당된 역할은 삭제할 수 없습니다. 먼저 해당 역할을 사용하는 사용자의 역할을 변경해야 합니다.

7. 기본 제공 역할

시스템에서 기본 제공하는 역할입니다. 일반적인 사용 시나리오에 맞게 미리 구성되어 있습니다.

역할명설명
소유자(Owner)조직의 모든 리소스 및 설정에 대한 전체 권한
기여자(Contributor)리소스 생성, 조회, 수정, 삭제 권한 (관리자 설정 제외)
서포터(Support)리소스 조회 및 제한적 수정 권한
뷰어(Reader)모든 리소스에 대한 조회 전용 권한

8. 사용자 정의 역할

조직의 요구사항에 맞게 직접 생성하는 역할입니다.

사용 예시:

  • "VM 관리자": 가상 머신 관련 모든 권한
  • "네트워크 조회자": 네트워크 리소스 조회 권한만 부여
  • "빌링 담당자": 빌링 및 요금제 관련 권한

9. 사용 플로우

시나리오: 새로운 팀원에게 VM 관리 권한 부여하기

Step 1: 역할 생성

  1. 설정 > 권한 관리 페이지 이동
  2. "권한 생성" 버튼 클릭
  3. 기본 정보 입력:
    • 역할명: VM 관리자
    • 설명: 가상 머신 생성, 조회, 수정, 삭제 권한
  4. 권한 선택:
    • 리소스 > 컴퓨팅 > 가상 머신: 전체 선택
    • 리소스 > 컴퓨팅 > 가상 머신 할당: 전체 선택 (웹 콘솔 포함)
  5. "생성" 클릭

Step 2: 사용자에게 역할 부여

  1. 설정 > 사용자 관리 페이지 이동
  2. 역할을 부여할 사용자 선택
  3. 사용자 정보 수정에서 역할 선택
  4. VM 관리자 역할 추가
  5. "저장" 클릭

Step 3: 권한 확인

  1. 해당 사용자로 로그인하여 가상 머신 메뉴에 접근 가능한지 확인
  2. 가상 머신 생성, 수정, 삭제 기능이 활성화되어 있는지 확인

10. FAQ

Q: 기본 제공 역할을 수정하고 싶습니다.

A: 기본 제공 역할은 수정할 수 없습니다. 대신, 기본 제공 역할을 참고하여 새로운 사용자 정의 역할을 생성하세요.

Q: 역할을 삭제하려는데 삭제되지 않습니다.

A: 해당 역할이 사용자에게 할당되어 있으면 삭제할 수 없습니다. 먼저 해당 역할을 사용하는 사용자의 역할을 변경한 후 삭제하세요.

Q: 사용자에게 여러 역할을 부여할 수 있나요?

A: 네, 한 사용자에게 여러 역할을 부여할 수 있습니다. 이 경우 모든 역할의 권한이 합쳐져서 적용됩니다.

Q: 권한이 없는 메뉴는 어떻게 표시되나요?

A: 권한이 없는 메뉴는 표시되지 않거나, 비활성화된 상태로 표시됩니다.