向使用者请求全局权限¶
本主题介绍提供商如何配置 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
READ SESSION
IMPORTED PRIVILEGES ON SNOWFLAKE DB
备注
授予 IMPORTED PRIVILEGES ON SNOWFLAKE DB,允许 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 <privileges> 命令,如下例所示:
GRANT CREATE DATABASE ON ACCOUNT TO APPLICATION hello_snowflake_app;
要授予 MYDATABASE 数据库的 IMPORT 权限,请运行以下命令:
GRANT IMPORTED PRIVILEGES ON DATABASE MYDATABASE TO APPLICATION hello_snowflake_app;