조직 역할 및 권한

조직 역할 및 권한 (Organization Roles & Permissions)

조직 전반에서 각 멤버가 무엇을 할 수 있는지 제어하는 역할과 권한을 관리하는 설정이에요. 프로젝트, 결제(billing), SSO, 그리고 기타 조직 전역 설정에 걸쳐 팀 멤버별 접근 수준을 통제할 수 있어요.

출처: 문서

본문

역할·정책·권한이 어떻게 함께 동작하는지 개요가 궁금하다면 RBAC 개요를 참고하세요.

Organization Roles & Permissions

기본 역할 (Default Roles)

모든 조직에는 세 가지 기본 역할이 있어요. 각 기본 역할은 별도로 명시되지 않는 한 모든 조직 권한을 포함해요.

Owner

조직의 모든 리소스에 대한 전체 접근 권한을 가져요. 소유권 이전과 모든 멤버 제거까지 포함해요. 권한 제외 항목은 없어요.

Admin

모든 권한을 포함해요. Admin은 Owner를 제거하거나 자신에게 소유권을 이전하는 것 외에는 Owner가 할 수 있는 모든 일을 할 수 있어요.

Member

project:create, project:manage, organization:manage, featureAccess:manage, sso:manage, apiKey:*** user:manage, user:delete, billing:manage, modelCredential:manage, modelCost:manage, metric:manage, retentionConfig:manage, iam:manage`를 제외한 모든 것을 포함해요. Member는 프로젝트를 만들 수 없어요. 조직 전역 설정에 대한 읽기 접근은 있지만 변경·사용자 관리·삭제·역할·정책 관리는 할 수 없어요.

프로젝트 권한 우회 (Bypass Project Permissions)

조직 권한 project:manage 는 제한 없는 프로젝트 접근을 주고 두 가지 중요한 동작을 제어해요.

  1. 모든 프로젝트 보기 — project:manage가 있는 사용자는 조직 프로젝트 목록에서 조직의 모든 프로젝트를 볼 수 있어요. 없는 사용자는 자신이 명시적으로 멤버인 프로젝트만 볼 수 있어요.
  2. 프로젝트 레벨 검사 우회 — 조직 레벨에서 project:manage가 있는 사용자는 프로젝트에 접근할 때 그 프로젝트의 역할 기반 권한을 우회해요. 프로젝트 역할과 무관하게 사실상 전체 접근 권한을 갖는 거예요. 이것이 Owner와 Admin이 조직의 어떤 프로젝트든 접근·관리할 수 있는 이유예요.

Owner와 Admin은 기본적으로 project:manage를 가져요. Member는 갖지 않으며, 커스텀 역할에서 필요에 따라 포함하거나 제외할 수 있어요.

커스텀 역할 (Custom Roles)

조직의 요구에 맞춰 커스텀 역할을 만들 수 있어요. 새 역할을 만들려면:

  1. Organization Settings(조직 설정) → Roles & Permissions로 이동
  2. New Role 클릭
  3. 역할 이름과 설명 입력
  4. 역할에 정책(policy) 할당
  5. Save(저장) 클릭

커스텀 정책 (Custom Policies)

정책은 역할이 가진 구체적인 권한을 정의해요. 각 권한은 조직 레벨에서 특정 작업에 대한 접근을 제어해요.

커스텀 정책을 만들려면:

  1. Organization Settings(조직 설정) → Roles & Permissions로 이동
  2. Custom Policies로 스크롤해 New Policy 클릭
  3. 정책 이름 입력
  4. 포함할 권한 선택
  5. Save(저장) 클릭

만든 후에는 커스텀 정책을 어떤 역할에든 할당할 수 있어요.

조직 역할은 프로젝트 역할과 별개예요. 사용자의 조직 역할은 조직 전반(결제, SSO, 기능 접근 등)에 적용되고, 프로젝트 역할은 자신이 속한 각 프로젝트 안에서만 적용돼요. 단, project:manage가 있으면 모든 프로젝트에 접근할 수 있어요.

권한 문법 (Permission Syntax)

조직 권한은 프로젝트 권한과 같은 resource:action 형식을 따라요. 예를 들어 billing:read는 결제 정보에 대한 읽기 접근을 주고, user:manage는 조직 사용자 관리 권한을 허용해요.

Actions(작업):

  • read — 리소스나 설정 보기
  • manage — 생성·수정·구성 (리소스에 따라 다름)
  • create — 새 리소스 생성 (project에 사용)
  • delete — 리소스나 사용자 제거 (user에 사용)

권한 리소스 (조직):

  • project — 프로젝트 생성; project:manage는 모든 프로젝트의 표시와 프로젝트 레벨 권한 우회도 제어 (위 참고)
  • organization — 조직 설정과 메타데이터
  • featureAccess — 기능 플래그와 플랜 기반 접근
  • sso — SSO 제공자와 구성
  • apiKey — 조직 API 키
  • user — 조직 사용자 관리; user:manage는 사용자에게 역할을 할당하는 것을, user:delete는 조직에서 사용자를 제거하는 것을 제어
  • billing — 결제와 구독
  • modelCredential, modelCost, metric — 조직 레벨의 모델 자격 증명·비용·메트릭
  • retentionConfig — 트레이스, 스팬, 테스트 런, 데이터셋, 프롬프트의 데이터 보존 설정 (각각 얼마나 오래 보관할지)
  • iam — 조직 역할과 정책

모든 리소스가 모든 작업을 가지는 건 아니에요. 전체 권한 목록은 Organization Settings의 Roles & Permissions 페이지에서 확인할 수 있어요.

더 알아보기 (Learn more)