向其他角色授予权限¶
Snowflake 提供了一组权限,用于处理 Snowflake Marketplace 或数据交换中的列表。
本主题内容:
在数据交换中授予管理员权限¶
默认情况下,只有数据交换管理员账户中的账户管理员(具有 ACCOUNTADMIN 角色的用户)可以管理数据交换,其中包括以下任务:
添加或删除成员。
批准或拒绝列表批准请求。
批准或拒绝提供商简介批准请求。
显示类别。
为了支持将这些任务委托给其他用户,可以将数据交换上的 IMPORTED PRIVILEGES 权限授予其他角色。
向其他角色授予 IMPORTED PRIVILEGES 权限¶
要将数据交换的 IMPORTED PRIVILEGES 权限授予角色,请使用 ACCOUNTADMIN 角色和 GRANT <privileges> 命令。
备注
WITH GRANT OPTION 参数不支持 IMPORTED PRIVILEGES 权限。
语法:
GRANT IMPORTED PRIVILEGES ON DATA EXCHANGE <exchange_name> TO <role_name>;
其中:
exchange_name
是数据交换的名称。role_name
是获得权限的角色。
例如,将 mydataexchange
数据交换的导入权限授予名为 myrole
的自定义角色:
USE ROLE ACCOUNTADMIN;
GRANT IMPORTED PRIVILEGES ON DATA EXCHANGE mydataexchange TO myrole;
使用说明¶
此权限在数据交换级别授予。因此,具有该角色的用户只能管理已为其授予权限的数据交换。
只有数据交换管理员账户中的账户管理员才能将权限授予其他角色。
将从共享创建的数据库上的 IMPORTED PRIVILEGES 权限授予了某角色时,后续调用 SHOW GRANTS 命令会将该权限列为 USAGE,而 不是 IMPORTED PRIVILEGES。
此权限只能用于数据交换。在 Snowflake Marketplace 中,只有 Snowflake 管理员可以执行管理任务。
向 Snowflake Marketplace 或数据交换中的其他角色授予提供商权限¶
Snowflake 提供了一组权限,允许提供商执行与在 Snowflake Marketplace 上与特定使用者共享数据和应用程序,或通过数据交换共享数据相关的各种任务。
权限 |
对象类型 |
可由以下角色授予 |
描述 |
ACCOUNT |
ACCOUNTADMIN |
授予创建列表或提供商简介的能力。 |
|
ACCOUNT |
ACCOUNTADMIN |
授予创建共享的能力。 |
|
ACCOUNT |
ACCOUNTADMIN |
授予查看与账户共享的入站共享以及从该共享创建数据库的能力。 |
|
ACCOUNT |
ACCOUNTADMIN |
授予购买付费列表的能力。 |
|
LISTING |
具有列表的 OWNERSHIP 权限的角色。 |
授予修改列表属性的能力。 |
|
LISTING |
具有列表的 OWNERSHIP 权限的角色。 |
授予查看列表的能力。 |
|
LISTING |
具有列表的 OWNERSHIP 权限的角色。 |
转移列表的 OWNERSHIP 权限。 |
|
PROVIDER PROFILE |
具有简介的 OWNERSHIP 权限的角色。 |
授予修改提供商简介属性的能力。 |
|
PROVIDER PROFILE |
具有简介的 OWNERSHIP 权限的角色。 |
转移简介的 OWNERSHIP 权限。 |
账户级别权限¶
Snowflake 提供以下权限,以便在 Snowflake Marketplace 或数据交换中在账户级别处理共享、列表和提供商简介:
全局 CREATE DATA EXCHANGE LISTING 权限¶
如果授予角色全局 CREATE DATA EXCHANGE LISTING 权限,具有该角色的任何用户都可以创建列表或提供商简介。作为列表的创建者和所有者,使用该角色可对列表执行所有任务,包括如下任务:
创建列表。
修改列表属性。
查看列表。
查看传入的列表请求。
拒绝列表请求。
提交列表以供审批。
发布列表。
创建和查看提供商简介。
如果账户是多个数据交换中的提供商,则拥有全局 CREATE DATA EXCHANGE LISTING 权限的角色可以在每个数据交换中创建列表。
备注
创建列表的角色将成为列表的所有者。可以使用 列表的 OWNERSHIP 权限 将 OWNERSHIP 权限从拥有所有权的角色转移到其他角色。
只有账户管理员(具有 ACCOUNTADMIN 角色的用户)可以授予角色全局 CREATE DATA EXCHANGE LISTING 权限。
要在数据交换中向角色授予全局 CREATE DATA EXCHANGE LISTING 权限,请使用 GRANT <privileges> [WITH GRANT OPTION] 命令。
例如,使用 ACCOUNTADMIN 角色授予权限:
USE ROLE ACCOUNTADMIN;
然后将权限授予自定义角色 myrole
:
GRANT CREATE DATA EXCHANGE LISTING ON ACCOUNT TO ROLE myrole;
然后使用授予选项将权限授予角色 myrole
:
GRANT CREATE DATA EXCHANGE LISTING ON ACCOUNT TO ROLE myrole WITH GRANT OPTION;
PURCHASE DATA EXCHANGE LISTING 权限¶
如果授予角色 PURCHASE DATA EXCHANGE LISTING 权限,则任何具有该角色的用户都可以购买私下共享的列表或在 Snowflake Marketplace 上共享的列表。
有关购买列表的更多信息,请参阅 成为列表的使用者。
有关此权限的更多信息,请参阅 启用非 ACCOUNTADMIN 角色执行数据共享任务。
列表级别权限¶
Snowflake 为列表提供以下权限。您只能使用获得了列表的 OWNERSHIP 权限的角色来授予这些权限。
列表的 MODIFY 权限¶
如果将列表的 MODIFY 权限授予了某角色,具有该角色的任何用户都可以对列表执行以下任务:
修改列表属性。
查看列表。
查看传入的列表访问请求。
提交列表以供审批。
发布列表。
拒绝列表请求。
只有具有列表的 OWNERSHIP 权限的角色才能授予此权限。只能通过使用 Snowsight 才能授予对列表的 MODIFY 权限。
要授予与特定使用者共享或发布在 Snowflake Marketplace 上的列表的 MODIFY 权限,请执行以下操作:
登录 Snowsight。
导航到 Data Products » Provider Studio。
选择 Listings。
找到要修改的列表,然后选择相应的行以打开列表详细信息。
在列表详细信息页面中,选择 Settings。
在 Privileges 部分中,选择 Modify Listing 权限旁边的铅笔图标。
选择 Add Role 并添加所需角色。
保存更改。
要在数据交换中授予对列表的 MODIFY 权限,请执行以下操作:
登录 Snowsight。
导航到 Data Products » Private Sharing。
选择 Shared By My Account。
找到要修改的列表,然后选择相应的行以打开列表详细信息。
在列表详细信息页面中,选择 Settings。
在 Privileges 部分中,选择 Modify Listing 权限旁边的铅笔图标。
选择 Add Role 并添加所需角色。
保存更改。
列表的 USAGE 权限¶
如果将列表的 USAGE 权限授予某角色,具有该角色的任何用户都可以查看列表和传入列表请求。只有具有列表的 OWNERSHIP 权限的角色才能授予此权限。
要授予与特定使用者共享或发布在 Snowflake Marketplace 上的列表的 USAGE 权限,请执行以下操作:
登录 Snowsight。
导航到 Data Products » Provider Studio。
选择 Listings。
找到要修改的列表,然后选择相应的行以打开列表详细信息。
在列表详细信息页面中,选择 Settings。
在 Privileges 部分中,选择 Modify Listing 权限旁边的铅笔图标。
选择 Add Role 并添加所需角色。
保存更改。
要在数据交换中授予对列表的 USAGE 权限,请执行以下操作:
登录 Snowsight。
导航到 Data Products » Private Sharing。
选择 Shared By My Account。
找到要修改的列表,然后选择相应的行以打开列表详细信息。
在列表详细信息页面中,选择 Settings。
在 Privileges 部分中,选择 Modify Listing 权限旁边的铅笔图标。
选择 Add Role 并添加所需角色。
保存更改。
列表的 OWNERSHIP 权限¶
如果为角色授予列表的 OWNERSHIP 权限,则该角色将成为列表的新 OWNER。只有列表的 OWNER 才能授予此权限。OWNERSHIP 是一种特殊类型的权限,只能由一个角色授予另一个角色;不能撤消。有关更多详细信息,请参阅 访问控制概述。
重要
当列表所有权转移时,所有现有的权限授予都将撤消。所有已被授予权限的角色都会立即失去对此列表的访问权限,并且其权限将撤消。新的列表所有者必须重新授予这些权限。
要授予与特定使用者共享或发布在 Snowflake Marketplace 上的列表的 OWNERSHIP 权限,请执行以下操作:
登录 Snowsight。
导航到 Data Products » Provider Studio。
选择 Listings。
找到要修改的列表,然后选择相应的行以打开列表详细信息。
在列表详细信息页面中,选择 Settings。
在 Privileges 部分中,选择 Modify Listing 权限旁边的铅笔图标。
选择 Add Role 并添加所需角色。
保存更改。
要在数据交换中授予对列表的 OWNERSHIP 权限,请执行以下操作:
登录 Snowsight。
导航到 Data Products » Private Sharing。
选择 Shared By My Account。
找到要修改的列表,然后选择相应的行以打开列表详细信息。
在列表详细信息页面中,选择 Settings。
在 Privileges 部分中,选择 Modify Listing 权限旁边的铅笔图标。
选择 Add Role 并添加所需角色。
保存更改。
提供商简介级别权限¶
Snowflake 为提供商简介提供以下权限。只有具有提供商简介的 OWNERSHIP 权限的角色才能授予此权限。
备注
要创建简介,请使用 全局 CREATE DATA EXCHANGE LISTING 权限 全局权限。
提供商账户中的任何角色都可以查看所有简介。此任务不需要授予权限。
提供商简介的 MODIFY 权限¶
如果将 MODIFY 权限授予提供商简介中的某个角色,则具有该角色的任何用户都可以查看和修改提供商简介的属性。只有具有提供商简介的 OWNERSHIP 权限的角色才能授予此权限。
可以通过 Web 界面或使用 SQL 授予 MODIFY 权限:
- Snowsight:
选择 Data Products » Private Sharing » Manage Exchanges » 选择交换 » 选择提供商简介 » Manage » Manage Profile Editors。
- SQL:
执行 GRANT <privileges> [WITH GRANT OPTION] 命令。
例如,向自定义角色
myrole
授予权限:GRANT MODIFY ON DATA EXCHANGE PROFILE "<provider_profile_name>" TO ROLE myrole;
提供商简介的 OWNERSHIP 权限¶
如果为角色授予提供商简介的 OWNERSHIP 权限,则该角色将成为提供商权限的新所有者。只有具有提供商简介的 OWNERSHIP 权限的角色才能授予此权限。
OWNERSHIP 是一种特殊类型的权限,只能由一个角色授予另一个角色;不能撤消。有关更多详细信息,请参阅 访问控制概述。
要将提供商简介的 OWNERSHIP 权限授予角色,请使用 GRANT <privileges> [WITH GRANT OPTION] 命令。您不能使用 Snowsight 来授予此权限。
例如,向自定义角色 myrole
授予权限:
GRANT OWNERSHIP ON DATA EXCHANGE PROFILE "<provider_profile_name>" TO ROLE myrole;