권한 설정
Alpacon에서 사용자와 그룹의 서버 접근 권한을 관리할 수 있습니다.
권한 모델
Alpacon의 권한은 두 가지 레벨로 작동합니다:
1. 사용자 역할 (워크스페이스 레벨)
| 역할 | 권한 |
|---|---|
| User | 할당된 서버만 접근, 자신의 프로필 수정 |
| Staff | 사용자/그룹 관리, 일부 워크스페이스 설정 |
| Superuser | 모든 권한, 워크스페이스 완전 제어 |
2. 서버 접근 권한 (그룹 기반)
- 서버에 그룹 할당
- 그룹의 모든 멤버가 서버 접근 가능
- 사용자는 여러 그룹에 속할 수 있음
역할 기반 접근 제어 (RBAC)
워크스페이스 레벨 권한(위의 사용자 역할)은 RBAC로 관리됩니다. 기본 제공 RBAC 역할은 사용자 역할 수준에 대응하며, 서버 접근 권한은 여전히 그룹 기반입니다. 세밀한 권한 제어를 위해 사용자 정의 역할을 생성할 수도 있습니다.
기본 제공 역할
기본 제공 역할은 사용자 역할 수준에 매핑되며 자동으로 할당됩니다:
| 역할 | 자동 할당 조건 | 권한 |
|---|---|---|
| member | 모든 사용자 기본 | 할당된 서버 접근, 프로필 편집 |
| admin | Staff로 설정된 사용자 | 사용자/그룹 관리, 일부 워크스페이스 설정 |
| superuser | Superuser로 설정된 사용자 | 모든 권한, 워크스페이스 완전 제어 |
기본 제공 역할은 시스템에서 자동으로 할당 및 관리됩니다.
사용자 정의 역할
조직의 필요에 맞는 세밀한 권한을 정의하기 위해 사용자 정의 역할을 생성할 수 있습니다. 사용자 정의 역할은 두 가지 범위 수준을 지원합니다:
- 전역 범위: 해당 리소스 유형의 모든 오브젝트에 권한이 적용됩니다
- 오브젝트 범위: 특정 리소스 유형과 오브젝트로 권한이 제한됩니다
RBAC 권한
권한은 resource:action 형식을 따릅니다 (예: server:read, server:write). 역할에 권한을 할당한 다음, 역할을 사용자나 그룹에 할당합니다.
권한 상속은 합산 방식으로 동작합니다—사용자의 유효 권한은 직접 할당된 역할과 그룹을 통해 상속된 역할의 모든 권한을 합산한 것입니다.
역할 관리(Superuser만 가능)는 워크스페이스 설정 > 역할에서 할 수 있습니다.
사용자 역할 설정
변경 방법:
- IAM > Users에서 사용자 선택
- 편집 클릭
- 역할 변경
- 저장
필수 권한: Staff 또는 Superuser
자세한 내용: 사용자 관리하기
서버 접근 권한 설정
그룹을 통한 접근 제어
1단계: 그룹 생성
2단계: 사용자를 그룹에 추가
3단계: 서버에 그룹 할당
개별 서버 권한 설정
- Servers 페이지에서 서버 선택
- 편집 클릭
- 할당된 그룹 선택
- 저장
선택한 그룹의 모든 멤버가 서버에 접근할 수 있습니다.
기능별 권한
Websh (터미널)
그룹에 할당된 서버에 터미널 접속:
- IAM 사용자명으로 로그인
- sudo 권한 사용 가능
WebFTP (파일 관리)
그룹에 할당된 서버에 파일 업로드/다운로드:
- 사용자 홈 디렉토리 접근
- 권한에 따라 다른 디렉토리 접근
MFA 필수 작업
워크스페이스 설정에서 다음 작업에 MFA 추가 인증 요구 가능:
- sudo 권한으로 Websh 사용
- sudo 권한으로 WebFTP 사용
- Deploy Shell 실행
설정: 워크스페이스 설정 - 인증
권한 조합 예시
예시 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 역할은 최소한으로 유지
- 신뢰할 수 있는 관리자에게만 부여
감사 로그
모든 권한 변경은 감사 로그에 기록됩니다:
- 누가 언제 권한을 변경했는지
- 어떤 사용자/그룹의 권한이 변경되었는지