Grant privileges to other roles
Grant privileges to other roles (다른 역할에 권한 부여)
Snowflake는 Snowflake Marketplace 또는 데이터 익스체인지에서 리스팅 작업을 위한 권한 집합을 제공해요. 데이터 익스체인지 관리자 권한과 프로바이더 권한을 어떻게 위임하는지 설명해요.
본문
데이터 익스체인지에서 관리자 권한 부여
기본적으로 데이터 익스체인지 관리자 계정의 계정 관리자(ACCOUNTADMIN 역할을 가진 사용자)만 데이터 익스체인지를 관리할 수 있으며, 여기에는 다음 작업이 포함돼요.
- 멤버 추가 또는 제거.
- 리스팅 승인 요청 승인 또는 거부.
- 프로바이더 프로필 승인 요청 승인 또는 거부.
- 카테고리 표시.
이 작업들을 다른 사용자에게 위임할 수 있도록 데이터 익스체인지에 대한 IMPORTED PRIVILEGES 권한을 다른 역할에 부여할 수 있어요.
다른 역할에 IMPORTED PRIVILEGES 권한 부여
데이터 익스체인지에 대한 IMPORTED PRIVILEGES 권한을 역할에 부여하려면 ACCOUNTADMIN 역할과 GRANT
Note
WITH GRANT OPTION 파라미터는 IMPORTED PRIVILEGES 권한을 지원하지 않아요.
구문:
GRANT IMPORTED PRIVILEGES ON DATA EXCHANGE <exchange_name> TO <role_name>;
여기서:
*exchange_name*은 데이터 익스체인지의 이름이에요.*role_name*은 권한이 부여되는 역할이에요.
예를 들어 mydataexchange 데이터 익스체인지에 대한 가져온 권한을 myrole이라는 사용자 정의 역할에 부여해요.
USE ROLE ACCOUNTADMIN;
GRANT IMPORTED PRIVILEGES ON DATA EXCHANGE mydataexchange TO myrole;
사용 참고 사항
- 이 권한은 데이터 익스체인지 수준에서 부여돼요. 따라서 그 역할을 가진 사용자는 권한이 부여된 데이터 익스체인지만 관리할 수 있어요.
- 데이터 익스체인지 관리자 계정의 계정 관리자만 권한을 다른 역할에 부여할 수 있어요.
- 공유에서 생성된 데이터베이스에 IMPORTED PRIVILEGES가 부여된 역할이 있으면, 이후 SHOW GRANTS 명령 호출은 그 권한을 IMPORTED PRIVILEGES가 아닌 USAGE로 나열해요.
- 이 권한은 데이터 익스체인지에만 사용할 수 있어요. Snowflake Marketplace에서는 Snowflake 관리자만 관리 작업을 수행할 수 있어요.
Snowflake Marketplace 또는 데이터 익스체인지에서 다른 역할에 프로바이더 권한 부여
Snowflake는 프로바이더가 Snowflake Marketplace에서 특정 컨슈머와 데이터·앱을 공유하거나 데이터 익스체인지에서 데이터를 공유하는 데 관련된 다양한 작업을 수행할 수 있게 하는 권한 집합을 제공해요.
| 권한 | 객체 유형 | 부여할 수 있는 사람 | 설명 |
|---|---|---|---|
| 전역 CREATE LISTING | ACCOUNT | ACCOUNTADMIN | 리스팅 또는 프로바이더 프로필을 만들 수 있는 능력 부여. |
| CREATE SHARE | ACCOUNT | ACCOUNTADMIN | 공유를 만들 수 있는 능력 부여. |
| IMPORT SHARE | ACCOUNT | ACCOUNTADMIN | 계정과 공유된 인바운드 공유를 보고 공유에서 데이터베이스를 만들 수 있는 능력 부여. |
| PURCHASE DATA EXCHANGE LISTING | ACCOUNT | ACCOUNTADMIN | 유료 리스팅을 구매할 수 있는 능력 부여. |
| 리스팅에 대한 MODIFY | LISTING | 리스팅에 대한 OWNERSHIP 권한이 있는 역할 | 리스팅 속성을 수정할 수 있는 능력 부여. |
| 리스팅에 대한 USAGE | LISTING | 리스팅에 대한 OWNERSHIP 권한이 있는 역할 | 리스팅을 볼 수 있는 능력 부여. |
| 리스팅에 대한 OWNERSHIP | LISTING | 리스팅에 대한 OWNERSHIP 권한이 있는 역할 | 리스팅에 대한 OWNERSHIP 권한을 이전할 수 있는 능력 부여. |
| 프로바이더 프로필에 대한 MODIFY | PROVIDER PROFILE | 프로필에 대한 OWNERSHIP 권한이 있는 역할 | 프로바이더 프로필의 속성을 수정할 수 있는 능력 부여. |
| 프로바이더 프로필에 대한 OWNERSHIP | PROVIDER PROFILE | 프로필에 대한 OWNERSHIP 권한이 있는 역할 | 프로필에 대한 OWNERSHIP 권한을 이전할 수 있는 능력 부여. |
계정 수준 권한
Snowflake는 Snowflake Marketplace 또는 데이터 익스체인지에서 계정 수준의 공유, 리스팅, 프로바이더 프로필 작업을 위한 다음 권한을 제공해요.
전역 CREATE LISTING 권한
전역 CREATE LISTING 권한이 역할에 부여되면 그 역할을 가진 모든 사용자가 리스팅 또는 프로바이더 프로필을 만들 수 있어요. 리스팅의 생성자이자 따라서 소유자로서 그 역할은 다음을 포함한 리스팅의 모든 작업을 수행하는 데 사용될 수 있어요.
- 리스팅 생성.
- 리스팅 속성 수정.
- 리스팅 보기.
- 인바운드 리스팅 요청 보기.
- 리스팅 요청 거부.
- 승인을 위한 리스팅 제출.
- 리스팅 게시.
- 프로바이더 프로필 생성·보기.
- 오퍼 보기.
- 가격 계획 보기.
계정이 둘 이상의 데이터 익스체인지에서 프로바이더라면, 전역 CREATE LISTING 권한이 있는 역할이 각 데이터 익스체인지에서 리스팅을 만들 수 있어요.
Note
- 리스팅을 만드는 역할이 리스팅의 소유자가 돼요. OWNERSHIP 권한은 리스팅에 대한 OWNERSHIP 권한을 사용해 소유 역할이 다른 역할로 이전할 수 있어요.
- 계정 관리자(ACCOUNTADMIN 역할을 가진 사용자)만 역할에 전역 CREATE LISTING 권한을 부여할 수 있어요.
데이터 익스체인지의 역할에 전역 CREATE LISTING 권한을 부여하려면 GRANT
예를 들어 ACCOUNTADMIN 역할을 사용해 권한을 부여해요.
USE ROLE ACCOUNTADMIN;
그런 다음 myrole이라는 사용자 정의 역할에 권한을 부여해요.
GRANT CREATE LISTING ON ACCOUNT TO ROLE myrole;
그런 다음 grant option과 함께 myrole 역할에 권한을 부여해요.
GRANT CREATE LISTING ON ACCOUNT TO ROLE myrole WITH GRANT OPTION;
CREATE SHARE 권한
CREATE SHARE 권한이 역할에 부여되면 그 역할을 가진 모든 사용자가 공유를 만들 수 있어요. 공유의 생성자이자 따라서 소유자로서 그 역할은 다음을 포함한 공유의 모든 작업을 수행하는 데 사용될 수 있어요.
- 객체에 대한 권한을 공유에 부여하거나 공유에서 객체에 대한 권한을 회수.
- 공유에 계정 추가 또는 컨슈머 계정 제거.
자세한 내용은 비-ACCOUNTADMIN 역할이 데이터 공유 작업을 수행하도록 활성화를 참고해요.
IMPORT SHARE 권한
IMPORT SHARE 권한이 역할에 부여되면 그 역할을 가진 모든 사용자가 다음 작업을 수행할 수 있어요.
- 모든 인바운드 공유(프로바이더 계정이 공유) 보기.
- 역할이 소유한 모든 아웃바운드 공유 보기.
- 역할에 전역 CREATE DATABASE 권한도 부여된 경우 인바운드 공유에서 데이터베이스 생성.
자세한 내용은 비-ACCOUNTADMIN 역할이 데이터 공유 작업을 수행하도록 활성화를 참고해요.
PURCHASE DATA EXCHANGE LISTING 권한
PURCHASE DATA EXCHANGE LISTING 권한이 역할에 부여되면 그 역할을 가진 모든 사용자가 사적으로 또는 Snowflake Marketplace에서 공유된 리스팅을 구매할 수 있어요.
리스팅 구매에 대한 자세한 내용은 리스팅의 컨슈머 되기를 참고해요.
이 권한에 대한 자세한 내용은 비-ACCOUNTADMIN 역할이 데이터 공유 작업을 수행하도록 활성화를 참고해요.
리스팅 수준 권한
Snowflake는 리스팅에 대해 다음 권한을 제공해요. 이 권한들은 리스팅에 대한 OWNERSHIP 권한이 부여된 역할만 부여할 수 있어요.
리스팅에 대한 MODIFY 권한
리스팅에 대한 MODIFY 권한이 역할에 부여되면 그 역할을 가진 모든 사용자가 리스팅에 대해 다음 작업을 수행할 수 있어요.
- 리스팅 속성 수정.
- 리스팅 보기.
- 인바운드 리스팅 접근 요청 보기.
- 승인을 위한 리스팅 제출.
- 리스팅 게시.
- 리스팅 요청 거부.
리스팅에 대한 OWNERSHIP 권한이 있는 역할만 이 권한을 부여할 수 있어요.
특정 컨슈머와 공유되거나 Snowflake Marketplace에 게시된 리스팅에 MODIFY 권한을 부여하려면:
- Snowsight에 로그인해요.
- 탐색 메뉴에서 Marketplace » Provider Studio를 선택해요.
- Listings를 선택해요.
- 수정하려는 리스팅을 찾아 행을 선택해 리스팅 세부 정보를 열어요.
- 리스팅 세부 정보 페이지에서 Settings를 선택해요.
- Privileges 섹션에서 Usage 권한 옆의 연필 아이콘을 선택해요.
- Add Role을 선택하고 필요한 역할을 추가해요.
- 변경 사항을 저장해요.
데이터 익스체인지의 리스팅에 MODIFY 권한을 부여하려면:
- Snowsight에 로그인해요.
- 탐색 메뉴에서 Data sharing » External sharing을 선택해요.
- Shared by your account를 선택해요.
- 수정하려는 리스팅을 찾아 행을 선택해 리스팅 세부 정보를 열어요.
- 리스팅 세부 정보 페이지에서 Settings를 선택해요.
- Privileges 섹션에서 Usage 권한 옆의 연필 아이콘을 선택해요.
- Add Role을 선택하고 필요한 역할을 추가해요.
- 변경 사항을 저장해요.
리스팅에 대한 USAGE 권한
리스팅에 대한 USAGE 권한이 역할에 부여되면 그 역할을 가진 모든 사용자가 리스팅과 인바운드 리스팅 요청을 볼 수 있어요. 리스팅에 대한 OWNERSHIP 권한이 있는 역할만 이 권한을 부여할 수 있어요.
특정 컨슈머와 공유되거나 Snowflake Marketplace에 게시된 리스팅에 USAGE 권한을 부여하려면:
- Snowsight에 로그인해요.
- 탐색 메뉴에서 Marketplace » Provider Studio를 선택해요.
- Listings를 선택해요.
- 수정하려는 리스팅을 찾아 행을 선택해 리스팅 세부 정보를 열어요.
- 리스팅 세부 정보 페이지에서 Settings를 선택해요.
- Privileges 섹션에서 Ownership 권한 옆의 연필 아이콘을 선택해요.
- Add Role을 선택하고 필요한 역할을 추가해요.
- 변경 사항을 저장해요.
데이터 익스체인지의 리스팅에 USAGE 권한을 부여하려면:
- Snowsight에 로그인해요.
- 탐색 메뉴에서 Data sharing » External sharing을 선택해요.
- Shared by your account를 선택해요.
- 수정하려는 리스팅을 찾아 행을 선택해 리스팅 세부 정보를 열어요.
- 리스팅 세부 정보 페이지에서 Settings를 선택해요.
- Privileges 섹션에서 Ownership 권한 옆의 연필 아이콘을 선택해요.
- Add Role을 선택하고 필요한 역할을 추가해요.
- 변경 사항을 저장해요.
리스팅에 대한 OWNERSHIP 권한
리스팅에 대한 OWNERSHIP 권한이 역할에 부여되면 그 역할이 리스팅의 새 OWNER가 돼요. 리스팅의 OWNER만 이 권한을 부여할 수 있어요. OWNERSHIP은 한 역할에서 다른 역할로만 부여할 수 있고 회수할 수 없는 특별한 유형의 권한이에요. 자세한 내용은 접근 제어 개요를 참고해요.
Important
리스팅 소유권이 이전되면 모든 기존 부여가 회수돼요. 권한이 부여된 모든 역할은 즉시 이 리스팅에 대한 접근을 잃고, 그들의 권한은 회수돼요. 새 리스팅 소유자가 이 권한들을 다시 부여해야 해요.
특정 컨슈머와 공유되거나 Snowflake Marketplace에 게시된 리스팅에 OWNERSHIP 권한을 부여하려면:
- Snowsight에 로그인해요.
- 탐색 메뉴에서 Marketplace » Provider Studio를 선택해요.
- Listings를 선택해요.
- 수정하려는 리스팅을 찾아 행을 선택해 리스팅 세부 정보를 열어요.
- 리스팅 세부 정보 페이지에서 Settings를 선택해요.
- Privileges 섹션에서 Modify Listing 권한 옆의 연필 아이콘을 선택해요.
- Add Role을 선택하고 필요한 역할을 추가해요.
- 변경 사항을 저장해요.
데이터 익스체인지의 리스팅에 OWNERSHIP 권한을 부여하려면:
- Snowsight에 로그인해요.
- 탐색 메뉴에서 Data sharing » External sharing을 선택해요.
- Shared by your account를 선택해요.
- 수정하려는 리스팅을 찾아 행을 선택해 리스팅 세부 정보를 열어요.
- 리스팅 세부 정보 페이지에서 Settings를 선택해요.
- Privileges 섹션에서 Modify Listing 권한 옆의 연필 아이콘을 선택해요.
- Add Role을 선택하고 필요한 역할을 추가해요.
- 변경 사항을 저장해요.
프로바이더 프로필 수준 권한
Snowflake는 프로바이더 프로필에 대해 다음 권한을 제공해요. 프로바이더 프로필에 대한 OWNERSHIP 권한이 있는 역할만 이 권한을 부여할 수 있어요.
Note
- 프로필을 만들려면 전역 CREATE LISTING 권한을 사용해요.
- 프로바이더 계정의 모든 역할이 모든 프로필을 볼 수 있어요. 이 작업은 권한 부여가 필요하지 않아요.
프로바이더 프로필에 대한 MODIFY 권한
MODIFY 권한이 프로바이더 프로필에 대해 역할에 부여되면 그 역할을 가진 모든 사용자가 프로바이더 프로필 속성을 보고 수정할 수 있어요. 프로바이더 프로필에 대한 OWNERSHIP 권한이 있는 역할만 이 권한을 부여할 수 있어요.
MODIFY 권한은 웹 인터페이스나 SQL로 부여할 수 있어요.
탐색 메뉴에서 Data sharing » Internal sharing » Manage Exchanges » 익스체인지 선택 » 프로바이더 프로필 선택 » Manage » Manage Profile Editors를 선택해요.
SQL:
GRANT
예를 들어 myrole이라는 사용자 정의 역할에 권한을 부여해요:
GRANT MODIFY ON DATA EXCHANGE PROFILE "<provider_profile_name>" TO ROLE myrole;
프로바이더 프로필에 대한 OWNERSHIP 권한
프로바이더 프로필에 대한 OWNERSHIP 권한이 역할에 부여되면 그 역할이 프로필의 새 소유자가 돼요. 프로바이더 프로필에 대한 OWNERSHIP 권한이 있는 역할만 이 권한을 부여할 수 있어요.
OWNERSHIP은 한 역할에서 다른 역할로만 부여할 수 있고 회수할 수 없는 특별한 유형의 권한이에요. 자세한 내용은 접근 제어 개요를 참고해요.
프로바이더 프로필에 대한 OWNERSHIP 권한을 역할에 부여하려면 GRANT
예를 들어 myrole이라는 사용자 정의 역할에 권한을 부여해요.
GRANT OWNERSHIP ON DATA EXCHANGE PROFILE "<provider_profile_name>" TO ROLE myrole;
더 알아보기 (Learn more)
- About Data Exchange — 익스체인지 개요
- Overview of Access Control — 접근 제어 개요
- Enable non-ACCOUNTADMIN roles to perform data sharing tasks — 데이터 공유 권한
- GRANT
— 권한 부여 명령