컨슈머로부터 전역 권한 요청하기¶
이 항목에서는 컨슈머가 Snowflake Native App 을 설치한 후 공급자가 컨슈머로부터 전역 권한을 요청하도록 앱을 구성하는 방법을 설명합니다. Snowflake Native App 은 이러한 권한을 통해 컨슈머 계정에서 작업을 수행할 수 있습니다(예: 웨어하우스 또는 데이터베이스 생성).
앱이 Snowflake Native App 컨텍스트 외부에서 작업을 수행하거나 오브젝트를 생성해야 하는 경우 컨슈머는 애플리케이션이 그렇게 할 수 있도록 권한을 부여해야 합니다.
컨슈머로부터 전역 권한을 요청하기 위한 워크플로¶
다음 워크플로에서는 전역 권한을 요청하도록 Snowflake Native App 을 구성하는 단계를 간략히 설명합니다.
참고
컨슈머가 Snowsight 를 사용하여 권한을 부여할 수 있게 해주는 사용자 인터페이스를 만드는 방법에 대한 정보는 권한 및 참조 요청을 위한 사용자 인터페이스 만들기 섹션을 참조하십시오.
공급자는 전역 권한을 요청하기 위해 Snowflake Native App 을 개발하고 게시할 때 다음을 수행합니다.
앱에 필요한 권한을 결정합니다.
예를 들어 앱이 컨슈머 계정에 데이터베이스를 생성해야 하는 경우 공급자는 컨슈머가 애플리케이션에 CREATE DATABASE 전역 권한을 부여하도록 요청해야 합니다.
앱에서 요청할 수 있는 전역 권한에 대한 자세한 내용은 공급자가 컨슈머로부터 요청할 수 있는 권한 섹션을 참조하십시오.
manifest.yml
파일에 필요한 권한을 추가합니다. 자세한 내용은 매니페스트 파일에 권한 요청 추가하기 섹션을 참조하십시오.
Snowflake Native App 을 설치한 후 컨슈머는 다음을 수행합니다.
애플리케이션에 필요한 전역 권한을 검토합니다. 자세한 내용은 Snowflake Native App 에서 요청한 권한 보기 섹션을 참조하십시오.
애플리케이션에 대한 전역 권한을 부여합니다. 자세한 내용은 애플리케이션에 권한 부여하기 섹션을 참조하십시오.
공급자가 컨슈머로부터 요청할 수 있는 권한¶
공급자는 Snowflake Native App Framework 를 통해 컨슈머 계정에서 다음 전역 권한 을 요청할 수 있습니다.
EXECUTE TASK
EXECUTE MANAGED TASK
CREATE WAREHOUSE
MANAGE WAREHOUSES
CREATE DATABASE
공급자는 또한 컨슈머가 SNOWFLAKE 데이터베이스에 대한 IMPORTED PRIVILEGES를 애플리케이션에 부여하도록 요청할 수도 있습니다. 컨슈머는 SQL 명령을 사용해서만 이 권한을 부여할 수 있습니다. 자세한 내용은 애플리케이션에 권한 부여하기 섹션을 참조하십시오. 이 권한은 Snowsight 를 사용하여 부여할 수 없습니다.
참고
IMPORTED PRIVILEGES를 부여하면 Snowflake Native App 이 컨슈머 계정과 관련된 사용량 및 비용에 대한 정보를 볼 수 있습니다. Snowflake Native App 을 게시할 때 컨슈머가 이 사실을 알고 있는지 확인해야 합니다.
매니페스트 파일에 권한 요청 추가하기¶
다음 예에서는 manifest.yml
파일에 EXECUTE TASK 권한을 추가하는 방법을 보여줍니다.
privileges:
- EXECUTE TASK:
description: "Privilege to run tasks within the consumer account"
공급자는 동일한 방식으로 지원되는 권한 을 어떤 것이든 추가할 수 있습니다.
Snowflake Native App 에서 요청한 권한 보기¶
공급자가 manifest.yml
파일에서 권한을 지정하는 경우 권한 요청은 설치된 Snowflake Native App 의 일부로 포함됩니다. 컨슈머는 앱을 설치한 후 권한 요청을 볼 수 있습니다.
앱에 필요한 전역 권한을 보려면 다음 예와 같이 SHOW PRIVILEGES 명령을 실행하십시오.
SHOW PRIVILEGES IN APPLICATION hello_snowflake_app;
애플리케이션에 권한 부여하기¶
컨슈머는 Snowflake Native App 에 필요한 권한을 확인한 후 이러한 권한을 앱에 부여해야 합니다.
위의 예에서 전역 권한 요청을 부여하기 위해 컨슈머는 다음 예와 같이 GRANT <권한> 명령을 실행합니다.
GRANT CREATE DATABASE ON ACCOUNT TO APPLICATION hello_snowflake_app;
SNOWFLAKE 데이터베이스에 대한 IMPORT 권한을 부여하려면 다음 명령을 실행하십시오.
GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO APPLICATION hello_snowflake_app;