역할과 권한

역할을 부여하려면 워크스페이스 역할을, 서버 접근을 관리하려면 그룹을 확인하세요.

권한 모델

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

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

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

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

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

역할 기반 접근 제어 (RBAC)

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

기본 제공 역할

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

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

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

직접 로그인 검토

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

권한허용되는 작업reviewerauditorsecurity_adminadmin
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는 모든 권한을 가집니다. 콘솔에서 역할별로 보이는 내용은 역할과 권한을 참고하세요.

사용자 정의 역할

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

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

RBAC 권한

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

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

역할 관리는 Superuser만 할 수 있으며 워크스페이스 설정 > 역할에서 합니다.

그룹 역할

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

소유자

권한:

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

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

관리자

권한:

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

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

멤버

권한:

  • 그룹에 할당된 서버 접근

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

권한 상속 및 누적

여러 그룹 소속:

  • 사용자가 그룹 A와 B에 속하면
  • A와 B에 할당된 모든 서버에 접근합니다.

역할과 그룹:

  • Superuser(RBAC superuser)와 Staff(RBAC admin)는 그룹 할당 없이도 모든 서버에 접근합니다.

서버 maintainer와 오브젝트 범위 역할:

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

그룹을 통한 역할 상속:

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