启用非 ACCOUNTADMIN 角色执行数据共享任务¶
本主题列出了执行与共享相关的 SQL 操作所需的最低权限。
默认情况下,创建和管理共享所需的权限仅授予 ACCOUNTADMIN 角色,以确保只有账户管理员才能执行这些任务。但是,也可以将权限授予其他角色,从而将任务委派给账户中的其他用户。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述。
备注
如果向账户中的其他用户授予共享权限,请确保这些其他用户的用户简介包括名字、姓氏和电子邮件地址。要修改 Snowsight 中的用户简介,请参阅 向您的用户简介添加用户详细信息。
数据提供商¶
数据提供商可选择以下 任一 选项,将对象添加到共享:
选项 1: 在数据库中创建数据库角色,将对象的权限授予数据库角色,然后将数据库角色授予共享。
选项 2: 将数据库和数据库对象的权限直接授予共享。
有关这些选项的更多信息,请参阅 选择如何共享数据库对象。
在数据提供商或数据使用者账户中,创建和管理共享所需的最低权限,取决于使用的选项。
- 选项 1:
操作
权限
对象
备注
创建共享。
CREATE SHARE
账户
只有 ACCOUNTADMIN 角色默认具有此权限。可以根据需要将该权限授予其他角色。
在数据库中创建数据库角色。
CREATE DATABASE ROLE
数据库
仅数据库所有者角色(即具有 OWNERSHIP 数据库权限)默认具有此权限。可以根据需要将该权限授予其他角色。
- 选项 2:
操作
权限
对象
备注
创建共享。
CREATE SHARE
账户
只有 ACCOUNTADMIN 角色默认具有此权限。可以根据需要将该权限授予其他角色。
向共享授予或从共享中撤销对象的权限。
OWNERSHIP
共享
该角色还必须至少对具有授予选项的数据库对象具有以下权限:
数据库上的 USAGE
架构上的 USAGE
所有表、外部表、安全视图或安全物化视图上的 SELECT
安全 UDFs 上的 USAGE
请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。
注意
向其他角色授予 CREATE SHARE,使管理共享更加灵活,而且还允许具有这些角色的用户向其他账户公开他们拥有(或拥有必要权限的)的对象。如果要共享包含敏感数据或专有数据的账户中的数据,这一点尤其需要注意。
在将 CREATE SHARE 授予其他角色之前,请注意这一点。
数据使用者¶
在使用者账户中,全局 IMPORT SHARE 权限允许查看与账户共享的入站共享。如果还向该角色授予了全局 CREATE DATABASE 权限,则该权限还允许从入站共享创建数据库。
向其他角色授予权限¶
要向使用者账户中的非 ACCOUNTADMIN 角色授予全局 IMPORT SHARE 权限,请使用 ACCOUNTADMIN 角色和 GRANT <privileges> 命令。
例如,向 SYSADMIN 角色授予权限:
USE ROLE ACCOUNTADMIN;
GRANT IMPORT SHARE ON ACCOUNT TO SYSADMIN;