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