向使用者请求全局权限

本主题介绍提供商如何配置 Snowflake Native App,在使用者安装应用程序后向使用者请求全局权限。这些权限允许 Snowflake Native App 在使用者账户中执行任务,例如创建仓库或数据库。

如果应用程序需要执行操作或在 Snowflake Native App 上下文之外创建对象,使用者必须授予权限才能允许应用程序这样做。

向使用者请求全局权限的工作流程

备注

请参阅 创建用户界面以请求权限和引用,了解有关创建允许使用者使用 Snowsight 授予权限的用户界面的信息。

要配置 Snowflake Native App 以请求全局权限提供商,请使用以下工作流程:

  1. 确定应用程序所需的权限。

    例如,如果应用程序需要在使用者账户中创建数据库,则提供商必须请求使用者向应用程序授予 CREATE DATABASE 全局权限。

    请参阅 提供商可以向使用者请求的权限,了解有关应用程序可以请求的全局权限的详细信息。

  2. 将所需的权限添加到 manifest.yml 文件中。有关详细信息,请参阅 向清单文件添加权限请求

安装 Snowflake Native App 之后,使用者执行以下操作:

  1. 查看应用程序所需的全局权限。有关更多信息,请参阅 查看 Snowflake Native App 请求的权限

  2. 授予应用程序的全局权限。有关更多信息,请参阅 向应用程序授予权限

提供商可以向使用者请求的权限

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"
Copy

提供商可以以相同的方式添加任何 支持的权限

查看 Snowflake Native App 请求的权限

当提供商在 manifest.yml 文件中指定权限时,权限请求将作为已安装的 Snowflake Native App 的一部分包含在内。使用者安装应用程序后可以查看权限请求。

要查看应用程序所需的全局权限,请运行 SHOW PRIVILEGES 命令,如下例所示:

SHOW PRIVILEGES IN APPLICATION hello_snowflake_app;
Copy

向应用程序授予权限

在确定 Snowflake Native App 所需的权限后,使用者必须将这些权限授予应用程序。

要授予上例中的全局权限请求,使用者需要运行 GRANT <privileges> 命令,如下例所示:

GRANT CREATE DATABASE ON ACCOUNT TO APPLICATION hello_snowflake_app;
Copy

要授予 MYDATABASE 数据库的 IMPORT 权限,请运行以下命令:

GRANT IMPORTED PRIVILEGES ON DATABASE MYDATABASE TO APPLICATION hello_snowflake_app;
Copy
语言: 中文