---
title: "역할과 권한"
description: "워크스페이스 역할과 그룹 역할이 어떤 권한을 주는지 확인하세요. 기본 역할과 사용자 정의 역할, 권한 이름, 그룹을 통한 권한 상속 방식을 정리합니다. 사용자나 그룹에 역할을 부여하기 전에 서버 접근과 관리 작업에서 실제로 허용되는 범위를 살펴볼 때 참고할 수 있습니다."
---

> Full documentation index: https://docs.alpacax.com/llms.ko.txt

# 역할과 권한

역할을 부여하려면 [워크스페이스 역할](/use/workspace/settings/roles/)을, 서버 접근을 관리하려면 [그룹](/use/iam/groups/)을 확인하세요.

## 권한 모델

Alpacon의 권한은 두 단계로 작동합니다.

### 1. 사용자 역할 (워크스페이스 수준)

| 역할       | 권한                                      |
| ---------- | ----------------------------------------- |
| User       | 할당된 서버만 접근, 자신의 프로필 수정    |
| Staff      | 사용자·그룹 관리, 일부 워크스페이스 설정  |
| Superuser  | 모든 권한, 워크스페이스 전체 제어         |

### 2. 서버 접근 권한 (그룹 기반)

- 서버에 그룹을 할당합니다.
- 그룹의 모든 멤버가 해당 서버에 접근합니다.
- 한 사용자가 여러 그룹에 속할 수 있습니다.

## 역할 기반 접근 제어 (RBAC)

워크스페이스 수준 권한(앞서 설명한 사용자 역할)은 RBAC로 관리됩니다. 기본 제공 RBAC 역할에는 워크스페이스 관리 역할과 업무별 역할이 있으며, 서버 접근은 기본적으로 그룹을 기준으로 정해집니다. 그룹과 부여된 역할에 따라 서버 접근이 어떻게 허용되는지는 [권한 상속 및 누적](#권한-상속-및-누적)을 참고하세요. 권한을 더 세밀하게 나누려면 사용자 정의 역할을 만들 수도 있습니다.

### 기본 제공 역할

콘솔의 역할 선택 목록에는 다음 기본 제공 역할 이름이 표시됩니다. 멤버 역할과 워크스페이스 관리 역할은 자동으로 부여되며, 나머지 역할은 직접 부여합니다.

| 콘솔에 표시되는 역할 | 부여 조건 | 권한 |
| --- | --- | --- |
| `member` | 모든 워크스페이스 멤버 | 기존 접근 범위 안에서 작업 세션, 명령어, 연결, 파일 전송 시작 |
| `admin` | 사용자를 **스태프**로 설정 | 워크스페이스 리소스와 사용자·그룹 관리, 승인 결정과 일부 특권 작업 제외 |
| `superuser` | 사용자를 **슈퍼유저**로 설정 | 워크스페이스 전체 관리 |
| `auditor` | 직접 부여 | 운영 권한 없이 워크스페이스 전체 감사 이력 조회 |
| `operator` | 직접 부여 | 서버 접속, 명령어 실행, 파일 전송, 세션 관리, IAM과 정책 관리 제외 |
| `security_admin` | 직접 부여 | 보안·승인 정책과 직접 접근 규칙 관리, 승인 결정 권한 제외 |
| `approver` | 직접 부여 | 부여된 범위 안에서 요청 승인·거절, 운영 권한 제외 |
| `reviewer` | 직접 부여 | 감사 이력 조회, 검토 결과 기록, 상시 직접 접근 허용 요청 |
| `service_token:manager` | 직접 부여 | 부여된 범위의 애플리케이션 조회와 서비스 토큰 조회·생성·수정, 토큰 삭제 제외 |

일반 멤버에게도 `member` 역할이 자동으로 부여됩니다. 개별 서버의 접근 권한은 그룹 소속과 추가로 부여된 역할에 따라 정해집니다.

### 직접 로그인 검토 [#direct-login-review]

[External access](/use/audit/governance/external-access/)에는 별도의 권한이 적용됩니다. 모든 워크스페이스에는 Superuser가 명시적으로 할당하는 `reviewer`, `auditor`, `security_admin` 역할이 있습니다. `admin`은 Staff 멤버에게 자동으로 할당되는 기본 제공 역할입니다. 역할별 권한은 다음과 같습니다.

| 권한 | 허용되는 작업 | `reviewer` | `auditor` | `security_admin` | `admin` |
|---|---|---|---|---|---|
| `local_access_event:read` | 서버에 기록된 직접 로그인 읽기 | 예 | 예 | 예 | 예 |
| `local_access_finding:read` | 발견 사항과 기간 요약 읽기, 증거 내보내기 | 예 | 예 | 예 | 예 |
| `local_access_finding:dispose` | 발견 사항에 개별 또는 일괄 결정 기록 | 예 | — | — | 예 |
| `direct_access_entry:read` | 허용된 직접 접근 목록과 상시 허용 요청 읽기 | 예 | 예 | 예 | 예 |
| `direct_access_entry:request` | 상시 허용 항목 요청 | 예 | — | — | 예 |
| `direct_access_entry:create`, `:update`, `:delete` | 상시 허용 항목 추가·변경·삭제, 요청 승인·거절(승인에는 `:create` 적용) | — | — | 예 | 예 |
| `local_access_detection:update` | 직접 로그인 탐지 켜기·끄기 | — | — | 예 | 예 |

이 역할은 워크스페이스 전체 범위로 할당해야 작동합니다. `superuser`는 모든 권한을 가집니다. 콘솔에서 역할별로 보이는 내용은 [역할과 권한](/use/audit/governance/external-access/#roles)을 참고하세요.

### 사용자 정의 역할

조직의 필요에 맞게 세밀한 권한을 정의하려면 사용자 정의 역할을 만듭니다. 사용자 정의 역할은 두 가지 범위 수준을 지원합니다.

- **전역 범위**: 해당 리소스 유형의 모든 오브젝트에 권한이 적용됩니다.
- **오브젝트 범위**: 특정 리소스 유형과 오브젝트로 권한이 제한됩니다.

### RBAC 권한

권한은 `resource:action` 형식을 따릅니다(예: `server:read`, `server:update`). 역할에 권한을 할당한 다음, 그 역할을 사용자나 그룹에 할당합니다. 토큰 접근 범위도 같은 어휘를 쓰므로, 권한 이름 전체는 [접근 범위 레퍼런스](/reference/scopes/)에서 확인할 수 있습니다.

권한 상속은 합산 방식입니다. 사용자의 유효 권한은 직접 할당된 역할과 그룹을 통해 상속된 역할의 권한을 모두 합친 것입니다.

역할 관리는 Superuser만 할 수 있으며 [워크스페이스 설정 > 역할](/use/workspace/settings/roles/)에서 합니다.

## 그룹 역할

그룹 내 각 사용자는 세 가지 역할 중 하나를 가집니다.

### 소유자

**권한:**

- 그룹을 전체 제어
- 멤버 추가 및 제거
- 멤버에게 역할 할당
- 그룹 설정 구성
- 그룹 삭제

**중요:** 각 그룹에는 소유자가 최소 한 명 있어야 하며, 마지막 소유자는 제거할 수 없습니다.

### 관리자

**권한:**

- 멤버 추가 및 제거
- 그룹 설정 구성

**용도:** 전체 제어권은 주지 않으면서 그룹 관리를 맡길 때

### 멤버

**권한:**

- 그룹에 할당된 서버 접근

**용도:** 서버 접근만 필요한 일반 사용자

## 권한 상속 및 누적

**여러 그룹 소속:**
- 사용자가 그룹 A와 B에 속하면
- A와 B에 할당된 모든 서버에 접근합니다.

**역할과 그룹:**
- Superuser(RBAC `superuser`)와 Staff(RBAC `admin`)는 그룹 할당 없이도 모든 서버에 접근합니다.

**서버 maintainer와 오브젝트 범위 역할:**
- 서버의 maintainer는 그룹에 할당되어 있지 않아도 해당 서버에 접근합니다. maintainer는 그 서버로 범위가 지정된 `server:maintainer` 역할을 가진 사용자입니다. 역할을 직접 받았거나, 역할이 할당된 그룹의 멤버이면 됩니다. 역할은 관리자가 RBAC 역할 API로 주거나 거두며, 서버를 등록하거나 서버의 소유자가 된다고 해서 역할이 생기지는 않습니다. Alpacon이 이 역할을 자동으로 주던 시기에 등록한 서버라면 등록한 사용자가 그 역할을 계속 가집니다. 워크스페이스 전체나 서버 그룹 범위로 할당한 역할로는 maintainer가 되지 않습니다.
- maintainer는 할당된 그룹의 소유자나 관리자처럼 서버에 존재하는 다른 계정으로도 접속할 수 있습니다.
- `server:read` 권한을 부여하는 사용자 정의 역할을 사용자나 그룹에 할당하면서 범위를 특정 서버나 그 서버가 속한 그룹으로 좁혀도(오브젝트 범위) 같은 방식으로 접근할 수 있습니다.
- 이렇게 접근하는 사용자는 그룹 멤버와 마찬가지로 해당 서버를 작업 세션이나 sudo 정책 대상으로 사용할 수 있습니다.

**그룹을 통한 역할 상속:**
- 그룹에 역할을 할당하면 그룹의 모든 멤버가 그 역할의 권한을 상속받습니다.
- 사용자의 유효 권한은 직접 할당된 역할과 그룹에서 상속받은 역할을 합친 것입니다.

Source: https://docs.alpacax.com/ko/reference/permissions/
