조직 리스팅 만들기
조직 리스팅 만들기
조직 리스팅을 만들어 조직 내에서 데이터 제품을 안전하게 공유할 수 있어요. 조직 리스팅을 만들기 전에 사전 요구 사항, 알려진 제한 사항, 고려 사항을 검토하세요.
본문
사전 요구 사항
- 조직에
ORGADMIN역할이 있어요. (조직 계정은 선택 사항이에요.)
알려진 제한 사항
- 정부 및 특수 리전에서의 조직 리스팅 지원은 현재 다음 리전에서 프리뷰 상태예요.
- FRM: US-EAST-1
- FRM: US-WEST-2
- KSA: GCPMECENTRAL2
- 이러한 배포에는 다음 제한 사항이 적용돼요.
- 정부 리전에서 사용자 정의 조직 프로필을 만드는 것은 지원되지 않아요.
- 조직 계정의
ACCESS_HISTORY뷰는 사용할 수 없어요. - 상용 또는 Virtual Private Snowflake(VPS) 계정에서 만든 조직 리스팅은 검색, 필터링, 탐색 시 표시되지 않아요.
- 특정 리전을 타겟팅하려면 API를 사용해야 해요.
- 지원되는 데이터 제품: Snowflake Native App Framework와 셰어(shares).
- Snowflake Native App을 포함하는 조직 리스팅은 접근 또는 발견을 위한 타겟 역할을 지원하지 않아요.
- 조직 리스팅을 사용할 때 다음 기능은 지원되지 않아요.
- Provider Studio 분석.
- 리더 계정(reader accounts).
- Snowsight를 사용해 조직 리스팅에서 특정 리전을 지정할 수 없어요. 대신 리스팅을 프로그래밍 방식으로 만들거나 변경할 때 매니페스트 YAML 파일에 리전을 지정할 수 있어요.
- 조직 리스팅 권한을 할당할 때 Snowflake는 셰어에 부여된 모든 데이터베이스 역할을 로드해요. 이로 인해 소비자가 mountless 리스팅에서 쿼리를 실행할 때 마스킹되지 않은 데이터를 볼 수 있게 돼요. 이 동작을 피하려면 리스팅을 마운트하고 ULL로 데이터베이스 역할을 사용하지 마세요.
고려 사항
- 전체 조직을 타겟팅하기 전에 외부 테넌트가 있는지 확인하세요. 외부 테넌트와 공유하려는 것이 아니라면 데이터 제품을 조직 리스팅에 추가하기 전에 타겟 계정을 조정하세요.
- 각 셰어는 하나의 리스팅에만 연결할 수 있어요.
- 각 Native App은 하나 이상의 리스팅에 연결할 수 있어요.
- 조직 리스팅이 있는 계정에 대한 조직 변경(예: 합병)은 Snowflake 지원에 연락하세요.
접근 제어 요구 사항
여기 제공된 정보를 사용해 조직 리스팅 SQL 명령을 실행하는 데 필요한 특정 역할과 권한을 결정해요.
지정된 권한 집합을 가진 사용자 정의 역할을 만드는 방법은 사용자 정의 역할 만들기를 참고하세요.
보호 가능한 객체에서 SQL 작업을 수행하기 위한 역할 및 권한 부여에 대한 일반 정보는 접근 제어 개요를 참고하세요.
조직 리스팅 권한 할당
조직 리스팅을 만들려면 역할이 셰어 생성 및 관리에 표시된 대로 셰어를 만들 수 있는 필수 권한과, 셰어를 사용해 조직 리스팅을 만들기 위한 권한에 표시된 대로 그것으로 조직 리스팅을 만들 수 있는 필수 권한을 가져야 해요.
셰어 생성 및 관리
셰어를 만들고 셰어 내부의 객체를 만들고 관리하려면 역할이 데이터 객체, 스키마, CREATE SHARE 명령에 대한 필수 권한을 가져야 해요.
| 권한 | 객체 | 설명 |
|---|---|---|
CREATE SHARE |
ACCOUNT |
셰어를 만들기 위해 필요. |
grants 옵션이 있는 OWNERSHIP 또는 USAGE |
DATABASE |
지정된 데이터베이스를 보고 사용하기 위해 필요. |
grants 옵션이 있는 OWNERSHIP 또는 USAGE |
SCHEMA |
지정된 스키마를 보기 위해 필요. |
SELECT |
TABLE |
지정된 스키마의 지정된 테이블을 쿼리하기 위해 필요. |
스키마의 객체에 대해 작업을 수행하려면 상위 데이터베이스와 스키마에 대한 USAGE 또는 다른 권한이 필요해요.
셰어를 사용해 조직 리스팅을 만들기 위한 권한
셰어 관련 권한 외에 조직 리스팅을 만들려면 다음 권한 중 하나가 필요해요.
| 권한 | 객체 | 설명 |
|---|---|---|
CREATE ORGANIZATION LISTING |
ACCOUNT |
조직 리스팅을 만들고 변경하기 위해 필요. |
CREATE LISTING |
ACCOUNT |
조직 리스팅과 프라이빗 리스팅을 만들고 변경하기 위해 필요. |
조직 리스팅을 변경하기 위한 권한
리스팅을 변경하려면 다음 권한 중 하나가 필요해요.
| 권한 | 설명 |
|---|---|
OWNERSHIP |
추가 grant 옵션 없이 셰어를 ALTER할 수 있어요. |
grants 옵션이 있는 MODIFY |
역할에 modify 권한을 부여한 뒤 셰어를 ALTER할 수 있어요. 다음을 사용해 수행할 수 있어요. |
GRANT MODIFY ON DATA EXCHANGE LISTING <listing_name> TO ROLE <role_name>
조직 리스팅 사용 또는 쿼리
조직 리스팅을 직접 사용하려면 추가 권한 없이 ULL(Uniform Listing Locator)을 참조할 수 있어요. 리스팅을 마운트해야 한다면 다음 권한이 필요해요.
| 권한 | 객체 | 설명 |
|---|---|---|
IMPORT ORGANIZATION LISTING |
ACCOUNT |
조직 리스팅을 가져오기 위해 필요. |
CREATE DATABASE |
ACCOUNT |
데이터베이스를 만들고 리스팅 객체를 마운트하기 위해 필요. |
리스팅 자동 이행 설정 관리
조직 리스팅의 자동 이행 설정을 관리하기 전에, 리스팅 자동 이행을 관리하는 데 필요한 역할을 갖추고 있는지 확인하세요. 자세한 내용은 자동 이행 필수 권한을 참고하세요.
이 작업을 실행하는 데 사용되는 역할은 최소한 다음 권한을 가져야 해요.
| 권한 | 객체 | 설명 |
|---|---|---|
MANAGE LISTING AUTO FULFILLMENT |
ACCOUNT |
자동 이행 설정을 구성하기 위해 필요. |
Snowsight 또는 SQL에서 조직 리스팅 만들기
-
Snowsight에 로그인해요.
-
탐색 메뉴에서 Data sharing › Internal sharing을 선택해요.
-
+ Create Listing을 선택해요.
-
리스팅에 추가할 테이블, 뷰 또는 다른 데이터 제품을 선택해요.
-
생성된 셰어 식별자를 검토한 뒤 Generate listing을 선택해요.
-
리스팅 이름을 입력하고 생성된 Universal Listing Locator를 검토한 뒤 Save를 선택해요.
-
누가 리스팅에 접근할 수 있는지(타겟 계정, 역할, 리전) 지정하려면 + Access Control을 선택해요. Access and discovery 대화 상자가 표시돼요.
-
Grant access 섹션을 완료해요.
필드 설명 Who can access this data product? 다음 중 하나를 선택해요. Entire organization: 조직의 모든 사람이 리스팅에 접근할 수 있어요. Entire organization을 선택하고 계정에서 크로스 클라우드 자동 이행이 활성화되어 있다면, 리스팅의 자동 이행 새로고침 설정을 검토하라는 안내가 표시돼요. Selected accounts and roles: 선택한 계정과 역할만 접근할 수 있어요. No accounts or roles are pre-approved: (기본값) 데이터 제품은 요청 시에만 사용 가능해요. Accounts Selected accounts and roles를 선택한 경우 하나 이상의 계정을 선택해요. 선택 사항. 두 번째 및 이후 계정을 추가하려면 + Add another account를 선택해요. 기본적으로 선택한 계정의 모든 역할이 리스팅에 접근할 수 있어요. 선택한 각 계정의 특정 역할에만 접근을 부여하려면 Selected roles를 선택해요. -
Allow discovery 섹션을 완료해요.
필드 설명 Who else can discover the listing and request access? 다음 중 하나를 선택해요. Entire organization: (기본값) 조직의 모든 사람이 리스팅을 발견하고 접근을 요청할 수 있어요. Grant access 섹션에서 Entire organization을 지정한 경우 이 필드는 선택되고 비활성화돼요. Selected accounts and roles: 선택한 계정과 역할만 리스팅을 발견하고 접근을 요청할 수 있어요. Not discoverable by users without access: 접근이 있는 사용자만 이 리스팅을 발견할 수 있어요. Accounts Select accounts and roles를 선택한 경우 하나 이상의 계정을 선택해요. 선택 사항. 두 번째 및 이후 계정을 추가하고 특정 역할에 접근을 부여하려면 + Add another account를 선택해요. Selected user roles Selected roles를 선택한 경우 접근을 부여할 역할을 하나 이상 입력해요. -
Allow discovery가 Selected accounts and roles라면 Set up request approval flow를 선택해요.
-
Set up request approval flow 대화 상자에서 How should the request approval happen? 목록의 다음 옵션 중 하나를 선택해요.
- Manage requests in Snowflake: 요청 승인자의 이메일 주소를 입력하고, 선택적으로 요청을 승인할 수 있는 추가 역할을 지정해요.
- Manage requests outside of Snowflake: 요청 승인자의 이메일 주소를 입력하거나 내부 티켓팅 시스템을 가리키는 URL을 입력해요.
주의 데이터 제품이 전체 조직에서 접근할 수 있거나, 접근이 없는 사용자가 발견할 수 없는 경우 Set up request approval flow 버튼을 사용할 수 없어요.
-
-
리스팅을 완성해요. 소비자를 안내하는 리스팅 페이지에 설명 같은 추가 정보를 입력해요. 이러한 필드에 대한 자세한 내용은 리스팅 구성 문서를 참고하세요.
- 설명(Description)
- 데이터 사전(Data dictionary)
- 빠른 시작 예시(Quick start examples)
- 지원 연락처를 포함한 세부 정보(Details)
- 문서 링크(Documentation links)
- 서비스 약관(Terms of service)
- 속성(Attributes)
-
Publish를 선택해 Internal Marketplace에서 리스팅을 사용할 수 있게 해요. 게시하지 않고 종료하면 리스팅은 검토나 설명 메타데이터 추가를 위한 준비가 된 드래프트로 저장돼요.
셰어에서 YAML에 필수 속성($$ 구분 기호로 입력)을 포함해 조직 리스팅을 만들어요.
이 매니페스트 YAML 부분은 조직 리스팅을 사용할 수 있는 계정을 지정해요.
organization_targets:
access:
이 예시는 매니페스트 YAML의 필수 설정으로 리스팅을 만들어요. 한 리전의 한 계정에서 한 역할을 타겟팅하고 지원 및 승인자 연락처를 포함해요.
주의
support_contact는 필수예요. 발견(discovery) 타겟이 제공되면approver_contact도 필수예요. 요청-접근 워크플로 옵션은 Internal Marketplace의 요청 접근 워크플로를 참고하세요.
USE ROLE <organizational_listing_role>;
CREATE ORGANIZATION LISTING <organization_listing_name>
SHARE <share_name> AS
$$
title: "My title"
description: "One region, all accounts"
organization_profile: "INTERNAL"
organization_targets:
discovery:
- account: "<account_name>"
roles:
- "<role>"
access:
- account: "<account_name>"
roles:
- "<role>"
support_contact: "[email protected]"
approver_contact: "[email protected]"
locations:
access_regions:
- name: "PUBLIC.<snowflake_region>"
$$;
조직 리스팅의 모든 필드와 값의 전체 목록은 조직 리스팅 매니페스트 참조 문서를 참고하세요. 추가 예시는 조직 리스팅을 발견하고 접근할 수 있는 대상 설정 문서를 참고하세요.