데이터 권한 부여
개요
데이터 웨어하우스의 데이터 처리에는 중간 테이블이 많아 비즈니스 측에서 사용하기에 적합하지 않으며, 모두 노출하면 비즈니스용 테이블을 고르기가 복잡해집니다. 또한 많은 프로젝트에는 데이터 권한을 세밀하게 관리해야 하는 요구(데이터베이스·테이블 수준의 권한 관리)가 있습니다.
데이터 개발 플랫폼의 데이터 권한 부여 기능을 통해 데이터 개발 사용자는 공간 안에서 공간의 데이터베이스, 테이블, 뷰 등 리소스에 대해 프로젝트 도메인 / 다른 공간 도메인에 사용 권한을 부여할 수 있습니다. 권한을 부여받은 프로젝트는 BI 대시보드와 크로스 소스 리소스 설정에서 이 리소스를 사용할 수 있고, 권한을 부여받은 공간은 자기 공간 도메인 안에서 권한을 부여받은 리소스로 2차 개발을 할 수 있습니다.
권한 관련 정의
- 프로젝트 권한 부여는 전제 조건입니다
- 데이터 권한 부여는 애플리케이션 계층의 제어입니다
- 역할 권한은 계정 역할에 해당하는 기능 권한 제어입니다
| 정의 | 권한 부여 측 | 권한을 받는 주체 | 권한 분류 | 설명 |
|---|---|---|---|---|
| 공간 - 프로젝트 권한 부여 | 공간 | 프로젝트 |
|
|
| 데이터 권한 부여 | 공간A | 프로젝트 공간B |
|
|
| 역할 권한 | 역할A | 역할B |
|
|
핵심 개념 및 엔터티
데이터 권한 부여의 기본 모델은 "특정 시나리오"에서 "권한 부여 대상"에게 "콘텐츠 리소스"의 "관련 권한"을 부여하는 것입니다.
| 정의 | 설명 |
|---|---|
리소스 그룹 | 권한을 부여할 수 있는 리소스 범위는 공간의 라이브 리소스이며, 리소스 그룹을 정의할 때 리소스 범위를 명시해야 합니다.
|
| 인증 공간 |
|
| 권한을 받는 주체 | 권한 관리 및 시스템 설계 분야에서 권한을 받는 주체(Authorization Subject)는 접근 권한을 부여받는 엔터티를 말합니다. 맥락과 시스템 설계에 따라 능동적일 수도 있고 수동적일 수도 있습니다. 여기서는 권한을 부여받은 프로젝트 또는 다른 데이터 개발 공간입니다. |
| 권한을 받는 주체 | 프로젝트, 데이터 개발 공간 |
| 권한 타입 | 데이터 개발 공간 - 권한 부여는 다음만 포함합니다.
|
| 권한 부여 정책 | 권한 부여 동작의 한 인스턴스 |
리소스 그룹
데이터 개발 공간의 리소스 그룹이란
- 권한을 부여할 수 있는 리소스 범위는 공간의 라이브 리소스이며, 리소스 그룹을 정의할 때 리소스 범위를 명시해야 합니다.
- 리소스 범위에 포함되는 엔터티: 데이터베이스 db, 테이블, 직접 연결 뷰
| 스토리지 | Catalog | 라이브러리 | db |
|---|---|---|---|
사전 설정 ETL 스토리지 | Hive | 운영 환경 라이브러리(라이브) | hive.ws_xxxx_product |
| IDE 라이브러리 | hive.ws_xxxx_ide |
주의⚠️: Dev 개발 환경 라이브러리는 외부에 권한을 부여할 수 없습니다
데이터 개발 리소스 그룹 타입
- 공간에는 사전 설정 리소스 그룹이 있으며, 커스텀 리소스 그룹을 생성할 수도 있습니다
| 리소스 그룹 타입 | 정의 | db |
|---|---|---|
| 사전 설정 리소스 그룹 | 공간 전체 |
|
| 운영 라이브러리 테이블 | hive.ws_xxxx_product | |
| IDE 라이브러리 테이블 | hive.ws_xxxx_ide | |
| 커스텀 리소스 그룹 | 두 가지 정의 방식
|
리소스 그룹 생성
오른쪽 상단의 +리소스 그룹을 클릭하여 리소스 그룹 생성 페이지로 들어갑니다
| 정의 방식 | 작업 방식 | 설명 |
|---|---|---|
| 특정 테이블 지정 | 단일 테이블의 집합을 직접 선택 |
|
| 정규식 매칭 | 정규표현식을 작성하여 규칙을 충족하는 공간 테이블을 매칭 |
|
리소스 그룹을 저장하면 권한 부여 페이지로 바로 이동하는 링크가 표시됩니다
리소스 그룹 편집
리소스 그룹 관리 목록에서 편집 아이콘을 클릭하여 리소스 그룹 편집 페이지로 들어갑니다
| 리소스 그룹 분류 | 편집 가능 항목 | 편집 불가 항목 |
|---|---|---|
| 사전 설정 리소스 그룹 | / |
|
| 커스텀 리소스 그룹 |
|
|
리소스 그룹 삭제
| 삭제 방식 | 리소스 그룹 분류 | 삭제 동작 |
|---|---|---|
| 직접 삭제 | 사전 설정 리소스 그룹 | 삭제 불가 |
| 커스텀 리소스 그룹 | 리소스 그룹을 삭제하면 해당 권한 부여 정책도 함께 삭제되므로 사용자에게 알려야 합니다 | |
| 연동 삭제 | / | 공간을 삭제하면 리소스 그룹이 삭제되며 복구할 수 없습니다 |
권한 부여 정책
"특정 시나리오"에서 "권한 부여 대상"에게 "콘텐츠 리소스"의 "관련 권한"을 부여합니다.
XXX 프로젝트에 운영 라이브러리 테이블과 IDE 라이브러리 테이블의 조회 권한을 부여합니다
리소스 그룹 생성과 권한 부여는 연속된 두 개의 독립적인 동작입니다.
인증 타입
공간이 권한을 부여한 권한을 받는 주체는 기본적으로 모두 meta, list, query 권한을 가집니다.
| 권한 타입 | 포함 권한 | 기본 정책 |
메타 정보 조회 meta |
| 허용 |
하위 목록 조회 list |
| 허용 |
읽기 query |
| 허용 |
권한을 받는 주체 범위
공간은 각 프로젝트에 대해 권한을 개별로 설정할 수 있으며, 권한은 세 가지입니다.
| 권한 | 설명 |
|---|---|
| 공급 및 사용 |
|
| 사용만 가능 |
|
| 권한 부여 안 함 | 해당 데이터 개발 공간에서 가공한 리소스를 프로젝트에서 사용하도록 아직 권한을 부여하지 않았음을 뜻합니다 |
따라서 데이터 개발 공간이 데이터 권한을 부여할 수 있는 전제 조건은 이 프로젝트에 "공급 가능" 권한이 있는 것입니다.
권한 부여 추가
방법 1: 리소스 그룹에서 설정
리소스 그룹에서의 권한 부여 설정은 안정적인 구조이며, 현재 리소스 그룹에만 속합니다.
권한 구성 상세 페이지로 들어가면 권한 부여 방식 = 리소스 그룹 권한 부여만 선택할 수 있으며, 저장할 때 X개의 권한 부여 정책을 새로 추가합니다 확인 팝업이 표시됩니다
방법 2: 공용 내비게이션에서 설정
오른쪽 상단의 권한 부여 버튼을 클릭합니다
권한 구성 상세 페이지로 들어가면 주체에게 권한 부여와 리소스 그룹 권한 부여 두 가지 관점의 권한 부여 방식을 설정할 수 있습니다.
권한 부여 정책 편집
- 하나의 리소스 그룹은 여러 다른 주체에게 권한을 부여할 수 있으며, 그만큼 여러 권한 부여 정책이 생성됩니다
- 활성화된 정책이라도 연결된 리소스 그룹의 정의는 계속 변경할 수 있습니다
- 정책에 연결된 리소스 그룹의 권한 부여 설정이 변경되면 정책도 그에 따라 추가되거나 삭제됩니다
| 작업 | 트리거 방식 | 설명 |
|---|---|---|
| 정책 추가 | 수동 추가 | 권한 부여를 수동으로 추가하여 생성된 권한 부여 정책 |
| 리소스 그룹의 권한 부여 편집으로 일부 새로운 주체에게 권한을 부여한 경우 | ||
정책 삭제 | 직접 삭제 | 작업 열에서 정책을 수동으로 삭제하거나 정책을 일괄 삭제
|
| 연동 삭제 | 리소스 그룹의 권한 부여 편집으로 일부 주체의 권한 부여를 취소한 경우
| |
프로젝트 삭제: 권한을 받은 주체(프로젝트)가 시스템에서 삭제됨
공간 삭제: 공간 아래의 모든 리소스가 삭제됨 | ||
| 정책 활성화/비활성화 | 직접 활성화 | 정책이 생성되면 기본적으로 활성화 중 상태입니다 |
| 직접 비활성화 | 작업 열에서 정책을 수동으로 비활성화 | |
연동 비활성화 | 프로젝트의 "공급 가능" 권한 취소: 정책이 비활성화됩니다 프로젝트 삭제: 권한을 받은 주체(프로젝트)가 시스템에서 삭제되면 정책이 비활성화되고 삭제됩니다 |
권한 부여 정책 관리 목록
인증 도구
데이터 권한 부여 모듈은 해당 리소스의 권한 범위를 파악할 수 있도록 빠른 인증 도구를 제공합니다.
조회:
- 현재 선택한 인증 리소스는 어떤 리소스 그룹에 있습니까?
- 현재 선택한 인증 리소스는 특정 공간/프로젝트에서 권한이 있습니까?

