프로젝트 역할과 권한

프로젝트 역할과 권한 (Project Roles & Permissions)

팀 역할과 권한을 관리해서 프로젝트 멤버의 접근 수준을 제어할 수 있어요.

역할과 권한은 각 팀 멤버가 프로젝트 안에서 무엇을 할 수 있는지 제어하게 해 줘요.

역할, 정책, 권한이 어떻게 함께 동작하는지에 대한 개요는 RBAC 개요를 참고해요.

Project Roles & Permissions

출처: 문서

본문

기본 역할 (Default Roles)

모든 프로젝트에는 세 개의 사전 설정 역할이 있어요. 각 사전 설정 역할은 달리 명시되지 않는 한 모든 프로젝트 권한을 포함해요.

오너 (Owner)

프로젝트의 모든 리소스에 대한 전체 접근 권한이에요. 권한 제외가 없어요.

매니저 (Manager)

모든 권한을 포함해요. 매니저는 오너와 동일한 접근 권한을 가져요.

멤버 (Member)

project:delete, retentionConfig:manage, user:manage, user:delete, iam:manage를 제외한 모든 것을 포함해요. 멤버는 프로젝트를 삭제하거나, 보존 설정을 관리하거나, 프로젝트 멤버에게 역할을 할당하거나, 프로젝트에서 멤버를 제거하거나, 역할과 정책을 관리할 수 없어요.

커스텀 역할 (Custom Roles)

팀의 필요에 맞는 커스텀 역할을 만들 수 있어요. 새 역할을 만들려면:

  1. 프로젝트 설정 (Project Settings) → 역할과 권한 (Roles & Permissions) 으로 이동해요
  2. New Role 을 클릭해요
  3. 역할의 이름과 설명을 입력해요
  4. 역할에 정책을 할당해요
  5. Save 를 클릭해요

흔한 커스텀 역할로, 특정 사용자 그룹에게만 데이터셋에 대한 읽기·쓰기 접근을 허용하는 "Annotator(어노테이터)" 역할이 있어요.

커스텀 정책 (Custom Policies)

정책은 역할이 가진 구체적인 권한을 정의해요. 각 권한은 dataset:read, dataset:create, golden:update, trace:delete 같은 특정 동작에 대한 접근을 제어해요.

커스텀 정책을 만들려면:

  1. 프로젝트 설정 (Project Settings) → 역할과 권한 (Roles & Permissions) 으로 이동해요
  2. 커스텀 정책 (Custom Policies) 까지 스크롤하고 New Policy 를 클릭해요
  3. 정책의 이름을 입력해요
  4. 포함할 권한을 선택해요
  5. Save 를 클릭해요

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

커스텀 역할은 특화된 접근 수준을 만드는 데 유용해요 — 트레이스나 테스트 실행에는 접근하지 않고 데이터셋만 보고 편집할 수 있는 Annotator 역할처럼요.

권한 문법 (Permission Syntax)

권한은 resource:action 형식을 따라요. 예를 들어 dataset:read는 데이터셋에 대한 읽기 접근을 부여하고, trace:evaluate는 트레이스에 대한 평가 실행을 허용해요.

동작 (Actions):

  • create — 새 리소스 만들기
  • read — 리소스 보기
  • update — 기존 리소스 수정
  • delete — 리소스 제거
  • evaluate — 리소스에 대한 평가 실행
  • assign — 리소스를 사용자 또는 큐에 할당
  • manage — create, update, delete 포함 (리소스에 따라 달라져요)

권한 리소스 (Permission resources):

  • dataset, golden — 데이터셋과 그 골든
  • metric, metricCollection — 메트릭 점수와 컬렉션
  • evaluationRule — 수신 트레이스, 스팬, 스레드에서 메트릭 컬렉션을 자동 실행하는 규칙
  • trace, span, thread, endUser — 옵저버빌리티 데이터
  • testRun, testCase, experiment — 평가 실행
  • prompt, promptVersion, promptLabel — 프롬프트와 그 버전
  • annotationQueue, queue_item — 어노테이션 큐와 그 항목
  • project, apiKey, modelCredential, modelCost, evaluationModel — 프로젝트 설정과 구성
  • retentionConfig — 트레이스, 스팬, 테스트 실행, 데이터셋, 프롬프트의 데이터 보존 설정 (각각 얼마나 오래 보관할지)
  • iam — 프로젝트 역할과 정책
  • transformer, aiConnection, alertConfig, integration — 통합과 도구
  • user — 팀 멤버 관리; user:manage는 멤버에게 역할을 할당하는 것을 제어하고, user:delete는 프로젝트에서 멤버를 제거하는 것을 제어해요

모든 리소스가 모든 동작을 가지는 건 아니에요. 예를 들어 데이터셋에는 project_member가 없고, annotation_queue에는 evaluate가 없어요. 전체 권한 목록은 역할과 권한 페이지에서 확인할 수 있어요.

더 알아보기