개요
Genie Space를 구성하고 테스트를 완료한 후, 적절한 권한으로 사용자에게 공유해야 합니다. 이 과정에서 권한 레벨의 정확한 이해, SME 검증, 데이터 접근 제어가 중요합니다.왜 권한 모델을 정확히 이해해야 하는가
Genie Space의 권한은 두 개의 독립적인 계층 으로 구성됩니다. 이 구조를 이해하지 못하면 “Space에 접근할 수 있는데 쿼리가 안 된다”거나 “A 사용자는 되는데 B 사용자는 안 된다”는 문제에 직면합니다.- Space 권한 계층: Genie Space 자체에 대한 접근/실행/편집/관리 권한 (CAN VIEW/RUN/EDIT/MANAGE)
- 데이터 권한 계층: Unity Catalog의 테이블/뷰에 대한 SELECT 권한
참고 핵심 원리: Genie Space의 권한은 “데이터를 볼 수 있는 새로운 경로”를 만드는 것이 아닙니다. 기존 Unity Catalog 거버넌스 위에 “자연어 인터페이스”를 얹는 것입니다. UC에서 접근할 수 없는 데이터는 Genie Space에서도 접근할 수 없습니다.
권한 레벨 상세
Genie Space는 4단계 권한 레벨을 제공합니다. 각 레벨은 하위 레벨의 모든 권한을 포함합니다.| 권한 | 할 수 있는 작업 | 권장 대상 |
|---|---|---|
| CAN VIEW | Space 내용 열람, 다른 사용자의 대화 기록 확인 | 이해관계자, 감사자 |
| CAN RUN | 질문 입력, SQL 실행, 결과 다운로드, 피드백 제출 | 일반 비즈니스 사용자 (기본 권장) |
| CAN EDIT | 인스트럭션 편집, 테이블/컬럼 설명 수정, SQL Expression 추가 | 도메인 전문가(SME), 데이터 분석가 |
| CAN MANAGE | 모니터링 탭 접근, 권한 관리, Space 설정 변경, 삭제 | Space 소유자, 관리자 |
주의 CAN RUN 과 CAN VIEW 의 차이에 주의하세요. CAN VIEW 사용자는 질문을 입력할 수 없고, 다른 사용자의 대화만 열람할 수 있습니다. 대부분의 비즈니스 사용자에게는 CAN RUN 이상의 권한이 필요합니다.
공유 절차
Step 1: Share 다이얼로그 열기
- Space 우측 상단의 Share 버튼을 클릭합니다.
- 화면 설명: “Share this Genie Space” 다이얼로그가 나타나며, 현재 공유된 사용자 목록과 각각의 권한 레벨이 표시됩니다.
Step 2: 사용자/그룹 추가
- 검색 필드에 사용자 이름, 이메일, 또는 그룹명을 입력합니다.
- 목록에서 대상을 선택합니다.
- 드롭다운에서 적절한 권한 레벨을 선택합니다.
- Add 버튼을 클릭합니다.
Step 3: 알림 및 링크 공유
- 공유 시 해당 사용자에게 이메일 알림 이 자동 발송됩니다.
- Copy link 버튼으로 직접 공유 링크를 생성할 수도 있습니다.
팁 개별 사용자보다 그룹(Group) 단위로 공유하는 것을 권장합니다. 팀원 변동 시 그룹 멤버십만 관리하면 되므로 운영 부담이 줄어듭니다.
SME(Subject Matter Expert) 검증 프로세스
Space를 전체 사용자에게 공개하기 전에, 도메인 전문가(SME)의 검증을 거치는 것이 중요합니다.권장 검증 절차
| 단계 | 작업 | 담당 |
|---|---|---|
| 1 | Space 초기 구성 완료 (테이블, 인스트럭션, SQL Expression) | Space 구축자 |
| 2 | SME에게 CAN EDIT 권한으로 공유 | Space 구축자 |
| 3 | SME가 핵심 비즈니스 질문 10-15개를 직접 테스트 | SME |
| 4 | 오답에 대해 피드백 제출 또는 직접 인스트럭션 수정 | SME |
| 5 | 벤치마크 정확도 80% 이상 달성 확인 | Space 구축자 + SME |
| 6 | 일반 사용자에게 CAN RUN 권한으로 공유 | Space 구축자 |
참고 SME 검증 없이 공유하면, 사용자들이 부정확한 답변을 받고 Space에 대한 신뢰를 잃을 수 있습니다. 첫인상이 중요하므로, 최소 80% 벤치마크 정확도 를 달성한 후 공유하세요.
Space 복제(Clone)
기존 Space를 기반으로 새로운 Space를 만들 때 복제 기능을 활용합니다. 복제 절차:- 복제할 Space를 엽니다.
- 우측 상단의 케밥 메뉴(…)를 클릭합니다.
- Clone 을 선택합니다.
- 화면 설명: “Clone Genie Space” 다이얼로그가 나타나며, 새 Space의 이름과 저장 위치를 지정할 수 있습니다.
- 새 Space 이름을 입력하고 저장 위치를 선택합니다.
- Clone 을 클릭합니다.
복제 시 포함되는 항목
| 항목 | 복제 여부 |
|---|---|
| 테이블/뷰 구성 | 포함 |
| 컬럼 설명 및 동의어 | 포함 |
| 인스트럭션 | 포함 |
| SQL Expressions | 포함 |
| 조인 관계 | 포함 |
| 벤치마크 | 포함 |
| 권한(공유 설정) | 미포함(새로 설정 필요) |
| 대화 기록 | 미포함 |
| 모니터링 데이터 | 미포함 |
팁 복제는 다음 상황에서 유용합니다:
- 유사한 데이터 도메인의 새 Space를 빠르게 만들 때
- 프로덕션 Space를 변경하기 전에 테스트 사본을 만들 때
- 지역/팀별로 약간 다른 버전의 Space가 필요할 때
주의 복제 후 반드시 벤치마크를 실행하세요. 복제된 Space의 벤치마크는 포함되지만, Warehouse나 데이터 접근 환경이 다를 수 있으므로 정상 동작을 확인해야 합니다.
실전 시나리오: 프로덕션 Space 안전하게 변경하기
프로덕션 Space에 큰 변경(테이블 추가/제거, 인스트럭션 대폭 수정)을 가할 때 권장하는 절차:- 프로덕션 Space를 Clone 합니다.
- 클론에서 변경사항을 적용합니다.
- 벤치마크를 실행하여 기존 정확도가 유지되는지 확인합니다.
- 확인이 끝나면 프로덕션 Space에 동일한 변경을 적용합니다.
- 프로덕션에서도 벤치마크를 재실행하여 최종 확인합니다.
End User에게 공유할 때 주의사항
사용자가 볼 수 있는 데이터 범위 — 보안 고려사항
Genie Space를 공유할 때 가장 중요한 보안 원칙은 “Space가 보여줄 수 있는 데이터”와 “사용자가 볼 수 있는 데이터”는 다를 수 있다 는 점입니다. Space 관리자가 10개 테이블을 추가했더라도, 사용자 A는 3개 테이블에만 SELECT 권한이 있을 수 있습니다. 이 경우 사용자 A가 권한 없는 테이블의 데이터를 질문하면 오류가 발생합니다.주의 행/열 수준 보안도 적용됩니다: Unity Catalog에서 Row Filter나 Column Mask가 설정된 테이블은 Genie Space에서도 동일하게 적용됩니다. 예를 들어, “영업1팀”에 소속된 사용자가 Row Filter로 자기 팀 데이터만 볼 수 있도록 설정되어 있다면, Genie Space에서도 자기 팀 데이터만 조회됩니다.
데이터 접근 권한
Genie Space 권한과 Unity Catalog 데이터 접근 권한은 별개 입니다.| 시나리오 | 결과 |
|---|---|
| Space CAN RUN 권한 있음 + 테이블 SELECT 권한 있음 | 정상 작동 |
| Space CAN RUN 권한 있음 + 테이블 SELECT 권한 없음 | 쿼리 실행 시 권한 오류 발생 |
| Space CAN RUN 권한 없음 + 테이블 SELECT 권한 있음 | Space에 접근 불가 |
주의 사용자가 Space에서 질문할 때, SQL은 해당 사용자의 Unity Catalog 권한 으로 실행됩니다. Space 관리자가 볼 수 있는 데이터라도 사용자에게 권한이 없으면 오류가 발생합니다. 공유 전에 대상 사용자/그룹에게 필요한 테이블에 대한 SELECT 권한이 있는지 확인하세요.
권한 문제 디버깅
사용자가 “권한 오류”를 보고하면 다음 순서로 확인하세요:- Space 권한 확인: Share 다이얼로그에서 해당 사용자가 CAN RUN 이상인지 확인
- UC 데이터 권한 확인:
SHOW GRANTS ON TABLE <table_name>또는 INFORMATION_SCHEMA에서 해당 사용자/그룹의 SELECT 권한 확인 - Warehouse 접근 확인: 사용자가 해당 Warehouse에 접근 가능한지 확인 (Consumer Access Entitlement)
- Row Filter/Column Mask 확인: 데이터는 보이지만 특정 행/열이 필터링되는지 확인
Embedded Credentials 동작 방식
SQL Warehouse에 Embedded Credentials가 설정된 경우, 쿼리는 해당 Credential의 권한으로 실행됩니다. 이 설정은 “모든 사용자가 동일한 데이터를 봐야 하는” 시나리오에서 유용합니다.| 항목 | Embedded Credentials 없음 | Embedded Credentials 있음 |
|---|---|---|
| 쿼리 실행 주체 | 질문한 사용자 본인 | Embedded Credential 소유자 |
| 데이터 접근 범위 | 사용자의 UC 권한 범위 | Credential 소유자의 UC 권한 범위 |
| 사용 사례 | 사용자별 데이터 접근 제어가 필요할 때 | 모든 사용자가 동일한 데이터를 봐야 할 때 |
폴더 관리
새로 생성된 Space는 기본적으로 생성자의 사용자 폴더 에 저장됩니다. 공유 폴더로 이동하는 방법:- 워크스페이스 브라우저에서 Space를 찾습니다.
- 우클릭하여 Move 를 선택합니다.
- 팀 공유 폴더(예:
/Shared/Genie Spaces/영업팀)를 선택합니다. - Move 를 클릭합니다.
팁 팀 공용 Space는 반드시 공유 폴더로 이동하세요. 생성자가 조직을 떠나도 Space가 유지되고, 다른 관리자가 접근할 수 있습니다.
권한 설정 체크리스트
사용자에게 공유하기 전에 다음을 확인하세요:- 대상 사용자/그룹이 Consumer Access 또는 Databricks SQL 워크스페이스 권한(Entitlement)을 보유하는가?
- 대상 사용자/그룹에게 Space에 포함된 모든 테이블/뷰에 대한 SELECT 권한이 있는가?
- Row Filter/Column Mask가 적용된 테이블이 있다면, 사용자별로 의도한 대로 필터링되는지 확인했는가?
- Embedded Credentials 사용 여부를 결정했는가? (사용자별 데이터 제어 vs 동일 데이터 노출)
- 테스트 사용자 1명으로 먼저 접근 테스트를 해봤는가?
공유 베스트 프랙티스
| 항목 | 권장 사항 |
|---|---|
| 권한 원칙 | 최소 권한 원칙 적용 (일반 사용자는 CAN RUN) |
| 그룹 활용 | 개인보다 그룹 단위로 공유. SCIM으로 IdP 그룹을 자동 동기화하면 운영 부담 최소화 |
| SME 검증 | 공유 전 반드시 도메인 전문가 검증 |
| 폴더 정리 | 공유 폴더에 팀/도메인별로 정리 |
| UC 권한 확인 | 공유 대상의 Unity Catalog 권한 사전 확인. INFORMATION_SCHEMA를 활용한 권한 점검 쿼리 활용 |
| 안내 문서 | Space 설명에 사용법과 제한사항 명시 |
| 점진적 확대 | 처음에는 소수 파일럿 그룹에게만 공유. 피드백 수집 후 점진적으로 확대 |
| 온보딩 가이드 | 새 사용자에게 “이 Space에서 할 수 있는 질문 유형”과 “할 수 없는 것”을 명확히 안내 |