컨슈머 계정의 오브젝트에 대한 액세스 요청하기¶
이 항목에서는 Snowflake Native App 이 설치된 후 공급자가 컨슈머 계정의 오브젝트에 대한 권한이나 액세스를 요청하는 방법에 대한 일반적인 정보를 제공합니다.
Snowflake Native App 의 권한 및 참조 정보¶
간단한 Snowflake Native App 에서는 설치 중에 설정 스크립트 실행 시 필요한 모든 오브젝트가 APPLICATION 오브젝트 내부에 생성됩니다. 이 상황에서 앱에 필요한 모든 오브젝트는 APPLICATION 오브젝트 내에서 생성되고 액세스할 수 있습니다. 컨슈머는 어떤 작업도 수행할 필요가 없습니다. 필요한 모든 권한은 애플리케이션 역할을 사용하여 앱에서 관리됩니다.
하지만 더 복잡한 Snowflake Native App 은 새 오브젝트를 생성하거나 APPLICATION 오브젝트 외부에 있는 컨슈머 계정의 오브젝트에 액세스해야 할 수도 있습니다. 이 경우 컨슈머는 Snowflake Native App 이 이러한 오브젝트를 생성하거나 액세스할 수 있도록 필요한 권한이나 액세스 권한을 부여해야 합니다.
Snowflake Native App Framework 를 사용하면 공급자가 다음을 수행할 수 있습니다.
컨슈머 계정에서 계정 수준 권한을 확인할 수 있습니다.
예를 들어 데이터베이스 생성과 같은 작업을 수행하기 위해 계정 수준 권한을 요청할 수 있습니다.
컨슈머 계정의 기존 오브젝트에 액세스하려면 참조 를 사용하십시오.
공급자는 다음을 요청하여 컨슈머 계정에 대한 액세스를 요청합니다.
- 전역 권한
Snowflake Native App 은 전역 권한을 사용하여 컨슈머 계정에서 작업을 수행할 수 있습니다. 자세한 내용은 공급자가 컨슈머로부터 요청할 수 있는 권한 섹션을 참조하십시오.
- 참조
앱은 참조 를 사용하여 컨슈머 계정의 기존 오브젝트에 액세스할 수 있습니다. 공급자는 앱이 요청하는 참조를
manifest.yml
파일에 정의합니다.설치 후 컨슈머는 오브젝트의 정규화된 이름 으로 생성된 참조를 제공하여 오브젝트에 대한 액세스를 허용합니다.
앱은 참조를 통해 논리적 이름을 사용하여 오브젝트에 액세스할 수 있습니다. 공급자는 참조를 사용하여 오브젝트나 오브젝트의 상위 데이터베이스와 스키마의 특정 이름을 모르더라도 앱을 만들 수 있습니다.
자세한 내용은 참고 문헌 을 확인하십시오.
컨슈머가 Snowflake Native App 에 대한 액세스를 허용하는 방법¶
공급자가 앱에서 정의한 각 액세스 요청에 대해 컨슈머는 앱에 대한 액세스를 허용해야 합니다. 컨슈머가 액세스를 허용하는 방법은 전역 권한과 참조에 따라 다릅니다.
Snowflake Native App 에 전역 권한 부여하기¶
공급자가 특정 권한이나 특정 오브젝트에 대한 액세스를 요청하도록 앱을 구성하는 경우 컨슈머가 앱에 이러한 권한을 부여하는 방법은 다음 두 가지가 있습니다.
공급자가 Python Permission SDK 를 사용하여 사용자 인터페이스를 구현하는 경우 컨슈머는 Snowsight 를 사용하여 앱에서 요청한 권한을 부여합니다. Python Permission SDK 는 컨슈머 계정에서 필수 GRANT 문을 자동으로 실행합니다.
공급자가 사용자 인터페이스를 구현하지 않는 경우 공급자는 앱에 필요한 권한이 무엇인지 컨슈머에게 전달해야 합니다. 예를 들어 공급자는 앱에 필요한 권한을 부여하기 위해 컨슈머가 실행해야 하는 SQL 문에 대한 정보를 컨슈머에게 전달해야 합니다.
컨슈머가 Snowflake Native App 목록의 일부로 볼 수 있는 앱의 README 파일에 이 정보를 포함하는 것이 좋습니다.