본문으로 건너뛰기
관리자 코스

권한 모델 한눈에 — Role · Collection · FGAC

D.Hub 권한 모델의 3 층 (Role · 컬렉션 ceiling · FGAC) 을 한 화면에 정렬하고, *권한 부여는 컬렉션부터 시작* 한다는 첫 규칙을 잡습니다.

7분

관리자 시점의 첫 답은 어떤 사용자가 무엇을 볼 수 있는가 입니다. D.Hub 의 권한 모델은 3 층 으로 풀립니다 — 본 레슨은 그 3 층을 한 화면에 정렬하고 권한 부여는 컬렉션부터 시작 한다는 첫 규칙을 잡습니다.

3 층 권한 모델

부여 단위답하는 질문
Role컬렉션 / 사용자 또는 그룹"자원에 접근 할 수 있나"
컬렉션 Ceiling컬렉션 자체"하위 자산이 상속 받을 권한 상한선은"
FGAC (Fine-Grained Access Control)데이터셋 컬럼 · 행"어떤 데이터를 볼 수 있나"

각 층이 서로 위에 쌓여 동작합니다. Role 이 접근 자체 를 통제하고, Ceiling 이 그 위의 상한 을 정하고, FGAC 가 같은 자원 안에서 보이는 범위 를 좁힙니다.

1 층: Role 세 종

D.Hub 의 Role 은 세 가지로 끝납니다.

  • Reader — 자원을 볼 수 있습니다. 데이터셋 미리 보기, 대시보드 조회, 파이프라인 결과 확인.
  • Writer (Editor) — 자원을 만들고 수정합니다. 데이터셋 등록, 파이프라인 작성, 대시보드 편집.
  • Owner — 자원의 권한을 부여하고 삭제합니다. 다른 사용자에게 Role 을 줄 수 있고, 컬렉션을 삭제할 수 있습니다.

Role 은 컬렉션 단위 로 부여됩니다. 데이터셋 한 개에 Reader 같은 더 좁은 권한은 없습니다 — 자원 단위 권한이 필요하면 그 자원만 담은 컬렉션 을 만들어 분리합니다.

2 층: 컬렉션 Ceiling

이게 D.Hub 권한 모델의 특이점입니다. 컬렉션에 부여된 Role 은 그 컬렉션 안의 모든 자원의 상한선 (Ceiling) 으로 동작합니다.

구체적으로:

  • 사용자 A 가 컬렉션 X 에 Reader 를 갖고 있으면, X 안의 어떤 자원 에도 Reader 이상의 권한을 가질 수 없습니다.
  • 같은 사용자 A 가 X 안의 데이터셋 D 에 Writer 를 직접 부여받았어도, X 의 ceiling 이 Reader 이므로 최종 권한은 Reader 입니다.

이 패턴은 권한 누수 를 한 곳에서 막는 핵심 안전 장치입니다. 사용자에게 부여한 적이 없는 권한이 상속·이동 으로 흘러 들어가는 일을 차단합니다.

3 층: FGAC — 같은 자원 안의 범위 좁히기

Role + Ceiling 이 접근 자체 를 통제했다면, FGAC 는 같은 데이터셋 안에서 보이는 컬럼·행을 사용자별로 다르게 통제합니다.

  • 컬럼 마스킹 — 예: 인사 데이터셋에서 salary 컬럼을 HR 그룹만 보이게.
  • 행 필터 — 예: 영업 데이터셋에서 각 지역 영업 사원에게 자기 지역 row 만 보이게.

FGAC 정책 작성은 레슨 4 에서 손으로 짚어 봅니다. 본 레슨은 FGAC 가 Role · Ceiling 위에 쌓이는 셋째 층 이라는 위치만 확정합니다.

권한 부여의 시작점

위 3 층의 작동 순서에서 자연스럽게 따라오는 운영 규칙 — 권한 부여는 항상 컬렉션부터 시작 합니다.

새 팀이 합류했을 때 가장 자주 하는 실수는 데이터셋 단위로 권한을 잘게 부여 하는 것입니다. 그 자체가 동작하지 않는 건 아니지만, 컬렉션 ceiling 이 자주 실제 권한 을 가립니다. 첫 흐름은 항상 팀이 다룰 컬렉션을 정의 → 그 컬렉션에 그룹 Role 부여 입니다.

이 레슨에서 익혀야 할 것

  • Role / Ceiling / FGAC 3 층의 각각이 답하는 질문
  • 컬렉션 Ceiling 의 상한선 효과
  • 권한 부여는 컬렉션부터 시작 한다는 첫 규칙

다음 레슨

외부 IdP (OIDC) 와 SSO 를 연결하고, 첫 사용자가 로그인 시 자동 프로비저닝되도록 설정합니다.