권한 설정
Alpacon에서 사용자와 그룹의 서버 접근 권한을 관리합니다.
권한 모델
Alpacon의 권한은 두 단계로 작동합니다.
1. 사용자 역할 (워크스페이스 수준)
| 역할 | 권한 |
|---|---|
| User | 할당된 서버만 접근, 자신의 프로필 수정 |
| Staff | 사용자·그룹 관리, 일부 워크스페이스 설정 |
| Superuser | 모든 권한, 워크스페이스 전체 제어 |
2. 서버 접근 권한 (그룹 기반)
- 서버에 그룹을 할당합니다.
- 그룹의 모든 멤버가 해당 서버에 접근합니다.
- 한 사용자가 여러 그룹에 속할 수 있습니다.
역할 기반 접근 제어 (RBAC)
워크스페이스 수준 권한(앞서 설명한 사용자 역할)은 RBAC로 관리됩니다. 기본 제공 RBAC 역할은 사용자 역할 단계와 짝을 이루고, 서버 접근은 그대로 그룹을 기준으로 정해집니다. 권한을 더 세밀하게 나누려면 사용자 정의 역할을 만들 수도 있습니다.
기본 제공 역할
기본 제공 역할은 사용자 역할 단계에 매핑되어 자동으로 할당됩니다.
| 역할 | 자동 할당 조건 | 권한 |
|---|---|---|
| admin | 사용자를 Staff로 설정할 때 | 사용자·그룹 관리, 일부 워크스페이스 설정 |
| superuser | 사용자를 Superuser로 설정할 때 | 모든 권한, 워크스페이스 전체 제어 |
기본 제공 역할은 시스템이 자동으로 할당하고 관리합니다. Staff도 Superuser도 아닌 일반 사용자에게는 워크스페이스 전체 범위의 역할이 부여되지 않으며, 이들의 접근 권한은 그룹 소속과 직접 할당된 역할에서 나옵니다.
사용자 정의 역할
조직의 필요에 맞게 세밀한 권한을 정의하려면 사용자 정의 역할을 만듭니다. 사용자 정의 역할은 두 가지 범위 수준을 지원합니다.
- 전역 범위: 해당 리소스 유형의 모든 오브젝트에 권한이 적용됩니다.
- 오브젝트 범위: 특정 리소스 유형과 오브젝트로 권한이 제한됩니다.
RBAC 권한
권한은 resource:action 형식을 따릅니다(예: server:read, server:write). 역할에 권한을 할당한 다음, 그 역할을 사용자나 그룹에 할당합니다.
권한 상속은 합산 방식입니다. 사용자의 유효 권한은 직접 할당된 역할과 그룹을 통해 상속된 역할의 권한을 모두 합친 것입니다.
역할 관리는 Superuser만 할 수 있으며 워크스페이스 설정 > 역할에서 합니다.
사용자 역할 설정
변경 방법:
- IAM > Users에서 사용자 선택
- 업데이트 클릭
- 역할 변경
- 저장 클릭
필수 권한: Staff 또는 Superuser
자세한 내용: 사용자 관리
서버 접근 권한 설정
그룹을 통한 접근 제어
1단계: 그룹 생성
2단계: 사용자를 그룹에 추가
3단계: 서버에 그룹 할당
개별 서버 권한 설정
- Servers 페이지에서 서버 선택
- 업데이트 클릭
- 할당된 그룹 선택
- 저장 클릭
선택한 그룹의 모든 멤버가 해당 서버에 접근합니다.
기능별 권한
Websh (터미널)
그룹에 할당된 서버에 터미널로 접속합니다.
- IAM 사용자명으로 로그인
- sudo 권한 사용 가능
WebFTP (파일 관리)
그룹에 할당된 서버로 파일을 업로드하거나 내려받습니다.
- 사용자 홈 디렉터리 접근
- 권한에 따라 다른 디렉터리 접근
MFA 필수 작업
다음 작업에는 Policies > Authentication(Superuser 전용)에서 MFA를 추가로 요구할 수 있습니다.
- sudo 권한으로 Websh 사용
- sudo 권한으로 WebFTP 사용
- 명령 실행
권한 조합 예시
예시 1: 개발팀 서버 접근
그룹: developers
멤버: user1 (User), user2 (User), user3 (Staff)
서버: dev-server-01, dev-server-02
할당된 그룹: developers
결과: user1, user2, user3 모두 두 서버에 접근 가능
예시 2: 프로덕션 서버 제한
그룹: senior-engineers
멤버: user3 (Staff), user4 (Superuser)
서버: prod-server-01
할당된 그룹: senior-engineers
결과: user3, user4만 프로덕션 서버에 접근 가능
권한 상속 및 누적
여러 그룹 소속:
- 사용자가 그룹 A와 B에 속하면
- A와 B에 할당된 모든 서버에 접근합니다.
역할과 그룹:
- Superuser(RBAC
superuser)는 그룹 할당 없이도 모든 서버에 접근합니다. - Staff(RBAC
admin)는 그룹에 할당된 서버에만 접근합니다.
그룹을 통한 역할 상속:
- 그룹에 역할을 할당하면 그룹의 모든 멤버가 그 역할의 권한을 상속받습니다.
- 사용자의 유효 권한은 직접 할당된 역할과 그룹에서 상속받은 역할을 합친 것입니다.
보안 모범 사례
최소 권한 원칙:
- 필요한 최소한의 권한만 부여합니다.
- 권한을 정기적으로 검토하고 조정합니다.
그룹 활용:
- 개별 사용자보다 그룹 단위로 권한을 관리합니다.
- 환경별, 프로젝트별로 그룹을 나눕니다.
Superuser 제한:
- Superuser 역할은 최소한으로 유지합니다.
- 신뢰할 수 있는 관리자에게만 부여합니다.
감사 로그
모든 권한 변경은 감사 로그에 기록됩니다.
- 누가 언제 권한을 변경했는지
- 어떤 사용자나 그룹의 권한이 바뀌었는지