컨슈머 계정에서 권한 요청하기

이 항목에서는 컨슈머가 Snowflake Native App 을 설치한 후 공급자가 권한을 요청하는 방법에 대한 일반적인 정보를 제공합니다.

Snowflake Native App 의 권한 및 참조 정보

간단한 Snowflake Native App 에서는 설치 중에 설정 스크립트 실행 시 필요한 모든 오브젝트가 APPLICATION 오브젝트 내부에 생성됩니다. 이 상황에서 Snowflake Native App 에 필요한 모든 오브젝트는 설치된 앱 내에서 생성되고 액세스할 수 있습니다. 컨슈머는 Snowflake Native App 에 어떤 권한도 부여할 필요가 없습니다. 모든 필수 권한은 애플리케이션 역할을 사용하여 관리됩니다.

하지만 더 복잡한 Snowflake Native App 은 새 오브젝트를 생성하거나 컨슈머 계정에서 생성된 APPLICATION 오브젝트 외부에 있는 컨슈머 계정의 기존 오브젝트에 액세스해야 할 수도 있습니다. 이러한 컨텍스트에서 컨슈머는 이러한 오브젝트를 생성하거나 액세스하는 데 필요한 권한을 부여해야 합니다.

Snowflake Native App Framework 를 사용하면 공급자가 다음을 수행할 수 있습니다.

  • 컨슈머 계정에서 계정 수준 권한을 확인할 수 있습니다.

  • 예를 들어 데이터베이스 생성과 같은 작업을 수행하기 위해 계정 수준 권한을 요청할 수 있습니다.

  • 참조를 사용하여 오브젝트 수준 권한을 요청할 수 있습니다.

공급자는 다음을 요청하여 컨슈머 계정에 대한 액세스를 요청하는 Snowflake Native App 을 디자인할 수 있습니다.

전역 권한

Snowflake Native App 이 컨슈머 계정에서 작업을 수행할 수 있도록 허용하는 권한을 포함합니다. 자세한 내용은 공급자가 컨슈머로부터 요청할 수 있는 권한 섹션을 참조하십시오.

참조

Snowflake Native App 이 컨슈머 계정에 이미 존재하지만 APPLICATION 오브젝트 내에는 없는 오브젝트에 액세스하도록 허용합니다. 공급자가 Snowflake Native App 에 필요한 참조를 정의합니다. 앱이 설치된 후 컨슈머는 필요한 오브젝트의 이름과 스키마를 제공하여 자신의 계정에 있는 오브젝트를 앱과 연결합니다.

공급자는 참조를 통해 오브젝트의 논리적 이름을 사용해 코드를 작성할 수 있으며, 이렇게 하면 오브젝트 이름과 해당 부모 스키마 또는 데이터베이스를 계속 추적하지 않고도 코드를 더 쉽게 작성할 수 있습니다.

컨슈머가 Snowflake Native App 에 액세스 권한을 부여하는 방법

Snowflake Native App 이 수행하는 각 확인 또는 요청에 대해 컨슈머는 앱이 이러한 작업을 수행할 수 있도록 필요한 권한을 부여해야 합니다. 컨슈머가 Snowflake Native App 에 이러한 권한을 부여할 수 있는 방법에는 다음 두 가지가 있습니다.

  • 공급자가 Snowflake Native App Framework 에서 제공하는 SDK를 사용하여 사용자 인터페이스를 Streamlit 앱으로 만듭니다. 컨슈머는 Streamlit 앱을 사용해 Snowsight 에서 필요한 권한을 부여할 수 있습니다. 이 접근 방식에서는 공급자가 인터페이스를 구현하기 위해 추가 작업을 수행해야 하지만 컨슈머 경험이 간소화됩니다.

  • 공급자가 컨슈머에게 Snowflake Native App 설치 후 필요한 권한을 부여하는 SQL 명령을 수동으로 실행하도록 요청합니다. 이 접근 방식을 사용하려면 공급자가 실행해야 하는 GRANT <권한> 문을 컨슈머에게 알려야 합니다.

    컨슈머가 SQL 명령을 실행할 때까지 Snowflake Native App 이 작동하지 않을 수 있습니다. 이 접근 방식에는 공급자와 컨슈머 간에 추가적인 커뮤니케이션이 필요합니다.