앱의 실행 파일에 대한 제한된 호출자 권한 부여하기¶
이 항목에서는 앱의 실행 파일에 제한된 호출자 권한을 부여하는 방법에 대해 설명합니다.
앱에서 소유자의 권한 및 제한된 호출자의 권한 정보¶
Snowflake Native App 내에서 실행 파일은 소유자 권한 또는 제한된 호출자 권한으로 실행됩니다. Snowflake Native App Framework 의 컨텍스트에서 지원되는 실행 파일 유형은 다음과 같습니다.
앱이 소유한 저장 프로시저
컨테이너가 있는 앱에서 사용 가능한 서비스
- 소유자의 권리:
소유자의 권한을 사용하는 실행 파일은 실행 파일의 소유자에게 부여된 권한으로 실행됩니다. 기본적으로 앱 내의 실행 파일은 소유자의 권한을 사용합니다. 앱에서 실행 파일의 소유자는 앱 자체입니다.
- 제한된 호출자의 권한:
제한된 호출자의 권한은 실행 파일이 호출자의 권한으로 실행되도록 허용하지만, 실행 파일이 실행되는 호출자의 권한은 제한합니다. 제한된 호출자의 권한을 적용하면 컨슈머 계정의 관리자가 GRANT CALLER 명령을 사용해 명시적으로 허용하지 않는 한, 앱이 소유한 실행 파일은 특정 권한으로 실행될 수 없습니다.
앱에 제한된 호출자의 권한을 부여하는 데 필요한 권한¶
컨슈머로서 앱에 호출자 권한을 부여하려면 ACCOUNTADMIN 역할을 사용하거나 MANAGE CALLER GRANTS 권한이 있는 역할을 사용해야 합니다. 자세한 내용은 GRANT CALLER 섹션을 참조하십시오.
Snowsight 를 사용하여 앱의 실행 파일에 호출자 권한 부여하기¶
Snowsight 를 사용하여 컨슈머 계정의 오브젝트에 대한 앱에 호출자 권한을 부여할 수 있습니다.
참고
앱에서 호출자 권한을 취소하거나 특정 테이블에 대한 호출자 권한을 부여하는 등의 다른 작업을 수행하려면 적절한 SQL 명령을 사용해야 합니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Data Products » Apps 를 선택합니다.
앱을 선택합니다.
도구 모음에서 Settings 아이콘을 클릭한 다음 Privileges 탭을 선택합니다.
앱이 제한된 호출자 권한을 지원하는 경우 Privileges 탭에 Restricted caller’s rights 섹션이 표시됩니다.
참고
공급자가 제한된 호출자의 권한 UI 를 표시하도록 앱을 구성한 경우에만 Snowsight 에서 호출자 권한을 부여할 수 있습니다.
Add grants 를 클릭합니다.
Access scope 를 선택합니다.
호출자의 권한이 스키마, 데이터베이스 또는 계정 수준에서 적용되는지 여부를 결정합니다. 앱에 불필요한 권한이 부여되지 않도록 가능한 한 범위가 가장 적은 옵션을 선택해야 합니다.
조심
계정 수준 범위를 선택할 때는 지원되는 모든 오브젝트 유형에 대해 앱에 대한 호출자의 권한을 부여할 수 있으므로 주의하십시오.
스키마 또는 데이터베이스 범위를 선택한 경우 요구 사항에 따라 스키마 또는 데이터베이스를 선택합니다.
참고
여러 스키마 또는 데이터베이스를 선택할 수 있습니다. 다른 데이터베이스에서 스키마를 선택할 수도 있습니다.
Next 을 클릭합니다.
호출자에게 권한을 부여할 오브젝트 유형을 선택합니다.
검색을 사용하여 오브젝트 유형을 찾습니다. 오브젝트 유형 목록은 위에서 선택한 범위에 따라 달라집니다.
오브젝트 유형을 선택하면 목록에서 해당 오브젝트의 항목이 각 오브젝트 유형에 대해 사용 가능한 권한으로 확장됩니다.
부여할 권한을 선택합니다.
각 오브젝트 유형에 대해 여러 권한을 선택할 수 있습니다. 다른 오브젝트 유형에 대한 권한을 선택할 수도 있습니다.
참고
Snowflake는 선택한 모든 오브젝트에 USAGE 권한을 자동으로 부여합니다.
Next 을 클릭합니다.
Grant summary 를 선택하여 선택한 범위, 오브젝트 유형 및 권한을 확인합니다.
참고
앞으로 생성되는 선택한 유형의 모든 오브젝트는 선택한 범위와 오브젝트 유형을 사용하여 동일한 권한으로 생성됩니다.
SQL 을 선택하면 Snowsight 가 실행할 GRANT CALLER 명령을 볼 수 있습니다.
참고
필요한 경우 이러한 명령을 복사하여 워크시트에서 수동으로 실행할 수 있습니다.
Save 를 클릭합니다.
선택한 범위, 오브젝트 및 권한은 Restricted caller’s rights section 에 표시됩니다.
선택한 권한을 수정하려면 Edit 를 클릭하고 요구 사항에 따라 권한을 선택하거나 선택 해제합니다.
SQL 을 사용하여 앱의 실행 파일에 호출자 권한 부여하기¶
제한된 호출자 권한을 요청하는 앱을 구성하는 경우 다음 작업을 수행하여 앱에 호출자 권한을 부여하십시오.
앱 목록을 확인하여 공급자가 앱에 RCR 실행 파일이 있다고 전달했는지 확인합니다.
목록에 언급된 대로 호출자에게 권한을 부여합니다. 다음 예에서는 GRANT CALLER 명령을 사용하여 특정 데이터베이스 및 스키마의 모든 테이블에 SELECT 권한을 부여하는 방법을 보여줍니다.
GRANT CALLER USAGE ON DATABASE db1 TO APPLICATION hello_snowflake_app; GRANT CALLER USAGE ON SCHEMA db1.sch1 TO APPLICATION hello_snowflake_app; GRANT INHERITED CALLER SELECT ON ALL TABLES IN SCHEMA db.sch1 TO APPLICATION hello_snowflake_app;
이 명령을 사용하면 호출자 권한이 제한된 실행 파일이
db.sch1
데이터베이스 및 스키마가 있는 모든 테이블의 데이터베이스 쿼리 실행에 액세스할 수 있습니다. 모든 테이블에 SELECT 권한을 부여하는 것 외에 데이터베이스 및 스키마에 USAGE 권한도 부여해야 합니다.