RBAC 관리#
RBAC(역할 기반 접근 제어) 관리를 통해 슈퍼관리자는 세분화된 세부 권한을 묶은 역할을 정의하고 사용자에게 할당할 수 있습니다. RBAC를 사용하면 Backend.AI 시스템 전반에서 특정 사용자가 다양한 리소스에 대해 수행할 수 있는 동작을 제어할 수 있습니다.
RBAC 관리는 슈퍼관리자만 사용할 수 있으며, Backend.AI Manager 26.4.0 이상 버전이 필요합니다.
RBAC 관리 페이지에 접근하려면 사이드바 메뉴의 관리자 설정 섹션에서 RBAC 관리를 클릭합니다.

역할 목록#
역할 목록 페이지는 모든 역할을 테이블 형태로 표시합니다. 페이지 상단의 컨트롤을 사용하여 역할을 필터링, 검색 및 정렬할 수 있습니다.
- 상태 필터: 활성 및 비활성 역할을 전환하는 세그먼트 컨트롤입니다. 기본적으로 활성이 선택되어 있습니다.
- 이름 검색: 이름으로 역할을 검색하거나 소스(시스템 또는 사용자 정의)로 필터링할 수 있는 속성 필터입니다. 필터 입력은 선택한 속성에 따라 달라집니다. 예를 들어 소스 필터는 사용 가능한 값(시스템 / 사용자 정의)을 선택형 입력으로 노출하고, 이름 필터는 자유 형식 텍스트 입력을 제공합니다.
- 역할 생성: 새로운 사용자 정의 역할을 생성하는 버튼입니다.
테이블에는 다음 열이 표시됩니다:
- 역할 이름: 역할의 이름입니다. 이름을 클릭하면 역할 상세 패널이 열립니다.
- 설명: 역할의 목적에 대한 간략한 설명입니다.
- 적용 범위: 역할에 처음 할당된 적용 범위의 타입입니다. 역할에 여러 적용 범위가 할당된 경우
+N표시가 함께 표시됩니다. - 적용 대상 ID: 역할에 처음 할당된 적용 범위의 원시 ID입니다. 여러 적용 범위가 할당된 경우
+N표시가 함께 표시됩니다. - 소스: 역할이 시스템(사전 정의) 또는 사용자 정의(사용자 생성)인지 나타냅니다.
- 생성일: 역할이 생성된 날짜와 시간입니다.
- 수정일: 역할이 마지막으로 수정된 날짜와 시간입니다.
역할 이름, 생성일, 수정일 열 헤더를 클릭하여 테이블을 정렬할 수 있습니다.
시스템 역할과 사용자 정의 역할#
역할은 두 가지 소스 유형으로 분류됩니다:
- 시스템: 자동 생성되는 역할입니다. 이름이나 설명을 편집할 수 없지만, 사용자 할당 및 세부 권한을 관리할 수 있습니다.
- 사용자 정의: 슈퍼관리자가 생성한 역할입니다. 이름, 설명, 할당, 적용 범위, 세부 권한 등 모든 항목을 편집할 수 있습니다.
역할 생성#
역할을 생성할 때는 적용 범위를 먼저 정의합니다. 적용 범위는 역할을 특정 리소스 엔티티(도메인, 프로젝트, 사용자 등)에 바인딩하여, 이후 추가되는 모든 세부 권한이 여기에서 정의한 적용 범위 내에서만 작동하도록 제한합니다.
새로운 사용자 정의 역할을 생성하려면:
- 역할 목록 페이지 오른쪽 상단의 역할 생성 버튼을 클릭합니다
- 생성 모달에서 다음 필드를 입력합니다:
- 역할 이름 (필수): 고유한 역할 이름을 입력합니다
- 설명 (선택): 역할의 목적에 대한 설명을 입력합니다
- 적용 범위 / 적용 대상 (필수, 최소 1개): 각 적용 범위 행에서 적용 범위를 선택한 후 해당 범위 내의 특정 적용 대상을 선택합니다. 추가 버튼으로 적용 범위 행을 더 추가하거나 삭제 아이콘으로 행을 제거할 수 있습니다. 최소 하나의 적용 범위를 추가해야 합니다.
- 확인을 클릭하여 역할을 생성합니다

적용 범위는 역할 생성 시점에 정의되며, 이후 역할 상세 패널에서 수정할 수 없습니다. 역할을 생성하기 전에 적용 범위를 신중하게 계획하세요.
적용 범위#
역할 생성 시 사용할 수 있는 적용 범위는 다음과 같습니다:
- 도메인: 활성 도메인 목록에서 선택
- 프로젝트: 프로젝트 선택(도메인 필터링 가능)
- 사용자: 이메일이나 이름으로 사용자 검색
역할 상세 보기#
역할에 대한 상세 정보를 확인하려면 테이블에서 역할 이름을 클릭합니다. 페이지 오른쪽에 상세 패널이 열립니다.
패널 헤더에는 역할 이름이 표시되며, 사용자 정의 역할의 경우 편집 버튼이 제공됩니다. 상세 섹션에는 다음 메타데이터가 표시됩니다:
- 소스: 시스템 또는 사용자 정의
- 상태: 활성 또는 비활성
- 생성일: 생성 시간
- 수정일: 마지막 수정 시간
- 설명: 역할의 설명
메타데이터 아래에는 역할 범위, 세부 권한, 역할 할당 세 개의 탭이 있습니다.

역할 편집#
사용자 정의 역할의 이름이나 설명을 편집하려면:
- 테이블에서 역할 이름을 클릭하여 상세 패널을 엽니다
- 패널 헤더의 편집 버튼(연필 아이콘)을 클릭합니다
- 편집 모달에서 역할 이름 및/또는 설명을 수정합니다
- 확인을 클릭하여 변경 사항을 저장합니다

편집 버튼은 사용자 정의 역할에서만 사용할 수 있습니다. 시스템 역할의 이름이나 설명은 수정할 수 없습니다. 또한 역할 생성 후에는 어느 경우에도 적용 범위를 수정할 수 없습니다.
역할 범위 보기#
상세 패널의 역할 범위 탭은 역할 생성 시에 할당된 적용 범위 항목을 나열합니다. 각 항목은 이 역할의 세부 권한이 참조할 수 있는 적용 대상 집합을 제한합니다.

테이블에는 다음 열이 표시됩니다:
- 적용 범위: 적용 범위 항목의 타입입니다(예: 도메인, 프로젝트, 사용자).
- 적용 대상: 적용 대상의 표시 이름입니다(예: 도메인 이름, 프로젝트 이름, 사용자 이메일).
- 적용 대상 ID: 적용 대상의 UUID입니다.
상단의 필터 컨트롤을 사용하여 적용 범위 타입으로 항목을 필터링할 수 있습니다.
이 탭에서 적용 범위는 읽기 전용입니다. 역할의 적용 범위를 변경하려면 원하는 적용 범위를 가진 새 역할을 생성해야 합니다.
세부 권한 관리#
상세 패널의 세부 권한 탭에서 역할에 구성된 세분화된 세부 권한을 확인할 수 있습니다.

세부 권한 이해하기#
각 세부 권한은 네 가지 구성 요소로 이루어져 있습니다:
- 적용 범위: 세부 권한이 대상으로 하는 리소스 유형(예: 도메인, 프로젝트, 사용자)
- 적용 대상: 적용 범위 내의 특정 엔티티(예: 특정 도메인 이름, 특정 프로젝트)
- 권한 타입: 세부 권한이 제어하는 리소스 카테고리로, 선택한 적용 범위에 따라 필터링됩니다
- 동작: 리소스에 허용되는 동작입니다. 선택한 권한 타입에 따라 허용되는 동작만 필터링되어 표시됩니다. 동작은 두 가지 카테고리로 그룹화됩니다:
- 직접 수행: 생성, 조회, 수정, 삭제, 영구 삭제
- 타인에게 위임: 모든 권한 위임, 조회 권한 위임, 수정 권한 위임, 삭제 권한 위임, 영구 삭제 권한 위임
각 세부 권한의 적용 범위 / 적용 대상 조합은 역할의 적용 범위 항목에서 상속됩니다. 세부 권한을 추가할 때는 역할 생성 시에 정의된 적용 범위 중에서만 선택할 수 있습니다. 역할의 범위를 넓히려면 적용 범위가 추가된 새 역할을 생성해야 합니다.
세부 권한 설정 예시#
다음은 네 가지 구성 요소가 어떻게 함께 작동하는지 이해하는 데 도움이 되는 일반적인 세부 권한 설정 예시입니다. 적용 범위 / 적용 대상 열은 세부 권한이 재사용하는 역할 수준의 적용 범위를 나타냅니다.
| 시나리오 | 적용 범위 / 적용 대상 | 권한 타입 | 동작 |
|---|---|---|---|
| 특정 프로젝트에서 스토리지 폴더 생성 허용 | 프로젝트 / my-project | VFolder | 생성 |
| 도메인 내 모든 세션 조회 허용 | 도메인 / default | Session | 조회 |
| 모델 서빙 엔드포인트 관리 허용 | 도메인 / default | Endpoint | 생성, 조회, 수정 |
| 컨테이너 이미지 삭제 허용 | 도메인 / default | Image | 삭제 |
세부 권한 추가#
- 상세 패널을 열고 세부 권한 탭을 선택합니다
- 세부 권한 추가 버튼을 클릭합니다
- 모달에서 다음 필드를 입력합니다:
- 적용 범위 / 적용 대상: 역할에 할당된 적용 범위 항목 중 하나를 선택합니다. 드롭다운에는 실제 동작을 수행할 수 있는 엔티티가 하나 이상 존재하는 적용 범위만 나열됩니다. 적용 대상은 원시 UUID 대신 현지화된 표시 이름(예: 도메인 또는 프로젝트의 표시 이름)으로 표시되어, 어떤 적용 범위인지 한눈에 확인할 수 있습니다.
- 권한 타입: 엔티티 유형을 선택합니다. 선택한 적용 범위에 유효한 유형만 표시됩니다. 권한 타입 라벨(예: 역할 할당)도 UI 언어에 맞춰 현지화되어 표시됩니다.
- 동작: 동작을 선택합니다(예: 생성, 조회, 수정, 삭제, 영구 삭제 또는 위임 동작)
- 추가를 클릭하여 세부 권한을 생성합니다

세부 권한 목록의 필터 컨트롤은 이제 각 필터 속성에 맞는 입력 유형을 사용합니다. 열거형 값(예: 권한 타입, 동작)에는 선택형 입력이, 이름 형식의 필드에는 자유 형식 텍스트 입력이 제공되어 원하는 항목을 더 빠르게 좁힐 수 있습니다.
적용 범위 없이 생성된 역할(예: 이전 버전에서 가져온 레거시 역할)의 경우, 세부 권한 추가 모달에는 적용 범위와 적용 대상 필드가 각각 표시되어 관리자가 세부 권한의 적용 대상을 직접 구성할 수 있습니다.
세부 권한 제거#
- 세부 권한 탭에서 제거할 세부 권한 옆의 세부 권한 제거 버튼을 클릭합니다
- 버튼에 연결된 작은 확인 팝업이 나타납니다. 확인을 클릭하여 제거하거나 취소를 눌러 닫습니다.
역할에서 세부 권한을 제거해도 역할 자체, 적용 범위, 사용자 할당은 그대로 유지되며 세부 권한 집합에서만 분리됩니다. 동일한 세부 권한을 같은 탭에서 다시 추가할 수 있으므로, 이 동작은 되돌릴 수 있는 작업으로 간주되며 이름을 입력해 확인하는 모달 대신 가벼운 팝업 확인 방식을 사용합니다.
사용자 할당 관리#
상세 패널의 역할 할당 탭에서 해당 역할에 할당된 사용자를 확인할 수 있습니다.

역할에 사용자 추가#
- 상세 패널을 열고 역할 할당 탭을 선택합니다
- 사용자 추가 버튼을 클릭합니다
- 모달에서 이메일이나 이름으로 사용자를 검색합니다
- 체크박스를 사용하여 한 명 이상의 사용자를 선택합니다
- 추가를 클릭하여 선택한 사용자를 역할에 할당합니다

역할에서 사용자 해제#
- 역할 할당 탭에서 해제할 사용자 옆의 해제(휴지통) 아이콘 버튼을 클릭합니다.
- 사용자 해제 확인 모달이 열립니다. 입력란에 **
영구 삭제**를 표시된 그대로 정확히 입력해야 하며, 입력한 텍스트가 일치하기 전까지 사용자 해제 버튼은 비활성화 상태로 유지됩니다. 사용자 해제를 클릭하여 확정하거나 취소를 눌러 닫습니다.

사용자를 해제하면 해당 사용자의 역할 할당만 제거되며, 역할 자체와 다른 할당은 그대로 유지됩니다.
역할에서 사용자를 해제하는 작업은 되돌릴 수 없습니다. 확인 모달에서 사용자 해제 버튼이 활성화되려면 영구 삭제를 입력해야 합니다.
프로젝트 관리자 권한 부여#
프로젝트를 생성하면 project-<project_id>-admin이라는 전용 역할이 함께 생성되며, 여기서 <project_id>는 해당 프로젝트의 UUID입니다. 이 역할에 사용자를 할당하면 해당 사용자에게 그 프로젝트에 대한 프로젝트 관리자 권한이 부여됩니다. 즉, 시스템 전반의 슈퍼관리자 권한을 갖지 않고도 해당 프로젝트의 사용자, 세션, 배포, 스토리지 폴더를 관리할 수 있습니다.

사용자에게 프로젝트 관리자 권한을 부여하려면:
- 역할 목록을 열고 대상 프로젝트의
project-<project_id>-admin역할을 찾습니다. 속성 필터를 사용하여 역할 이름으로 검색할 수 있습니다(예:project-를 입력하여 목록을 좁힙니다). - 역할 이름을 클릭하여 역할 상세 화면을 엽니다.
- 해당 역할에 대해 역할에 사용자 추가의 절차를 따라 사용자를 할당합니다.

사용자에게는 즉시 프로젝트 관리자 권한이 부여됩니다. 다음에 헤더의 프로젝트 드롭다운을 열면 해당 프로젝트 옆에 프로젝트 관리자 배지가 표시되며, 프로젝트 관리자 기능 챕터에서 설명한 프로젝트 관리자 전용 사이드바 항목도 함께 나타납니다.
프로젝트 관리자 권한을 회수하려면, 동일한 project-<project_id>-admin 역할에 대해 역할에서 사용자 해제의 절차를 따릅니다.