역할 기반 접근 제어

역할 기반 접근 제어 (Role-Based Access Control, RBAC)

역할 기반 접근 제어와 권한·정책·역할이 어떻게 함께 동작하는지 이해하는 페이지예요.

역할 기반 접근 제어(RBAC)는 각 팀 멤버가 무엇을 할 수 있는지 정의하게 해 줘요. 이 구조는 프로젝트와 조직 수준 모두에 적용되지만, 사용 가능한 구체적인 권한은 각각 다르다는 점을 기억해요.

출처: 문서

본문

작동 방식 (How It Works)

권한(permission) 은 트레이스를 읽거나 데이터셋을 편집하는 것 같은 특정 동작이에요. 여러 권한이 묶여 정책(policy) 이 되고, 각 역할(role) 에 정책이 할당되어 그 역할을 가진 사용자가 무엇에 접근할 수 있는지 정의해요.

graph LR
    subgraph Permissions
        P1[dataset:read]
        P2[dataset:update]
        P3[golden:read]
    end
    P1 --> POL[Policy]
    P2 --> POL
    P3 --> POL
    POL --> R[Role]
    R --> U[User]

    style P1 fill:#e8f4f8,stroke:#0891b2
    style P2 fill:#e8f4f8,stroke:#0891b2
    style P3 fill:#e8f4f8,stroke:#0891b2
    style POL fill:#fef3c7,stroke:#d97706
    style R fill:#dcfce7,stroke:#16a34a
    style U fill:#f3e8ff,stroke:#9333ea

범위 (Scope)

역할은 두 수준에 존재해요:

  • 프로젝트 역할(Project roles) 은 사용자가 특정 프로젝트 안에서 무엇을 할 수 있는지 제어해요 (예: 데이터셋, 트레이스, 테스트 실행 접근).
  • 조직 역할(Organization roles) 은 사용자가 조직 전체에서 무엇을 할 수 있는지 제어해요 (예: 프로젝트, 사용자, 청구 관리).

사용자는 프로젝트당 역할 하나와 조직 수준 역할 하나만 가질 수 있어요. 같은 사용자가 프로젝트마다 서로 다른 프로젝트 역할을 가질 수 있어요 — 예를 들어 한 프로젝트에서는 데이터셋 접근이 제한된 "Annotator", 다른 프로젝트에서는 전체 "Owner" 접근을 가질 수 있어요.

RBAC를 구성하는 이유 (Why Configure RBAC?)

팀이 성장하면서 모든 사람이 모든 것에 접근해야 할 필요는 없어요. RBAC는 여러분을 도와줘요:

  • 위험을 줄여요 — 데이터를 삭제하거나 중요한 구성을 수정할 수 있는 사람을 제한해요.
  • 온보딩을 단순화해요 — 개별 권한을 설정하는 대신 새 팀 멤버에게 역할을 할당해요.
  • 특화된 워크플로우를 지원해요 — 라벨링 팀용 어노테이터 역할, 이해관계자용 읽기 전용 역할, 팀 리더용 매니저 역할을 만들 수 있어요.
  • 컴플라이언스 요구를 충족해요 — 많은 보안 프레임워크가 최소 권한(least-privilege) 접근 제어를 요구해요.

더 알아보기