权限管理
数据湖权限支持配置数据目录、数据库和数据表三种维度的细粒度权限。本文针对不同的数据操作,对所需要配置的权限进行说明,并对Owner权限的定义和权限鉴定方式进行详细说明。
权限要素
类别 | 说明 |
主体(Principal) | 被授予权限的用户或角色。
|
资源(Resource) | 数据湖中管理的资源包括:
|
访问资源的方式(Access) | 访问资源的方式依据资源类型而异。例如,数据库支持CreateTable、List等权限;表支持Select、Update等权限。 |
权限概览
数据湖构建支持的权限如下表所示。
资源 (Resource) | 访问资源的方式 (Access) | 说明 |
Catalog | Alter | 修改Catalog。例如, |
Drop | 删除Catalog。例如, | |
Grant | 对Catalog进行授权操作。例如, | |
Create Database | 在Catalog中创建Database。例如, | |
Database | Describe | 查看Database的元数据信息或切换Database。例如, |
Alter | 修改Database。例如, | |
Drop | 删除Database。例如, | |
Create Table | 在Database中创建Table。例如, | |
Create Function | 在Database中创建自定义函数。例如, | |
List | 查看Database下资源列表。例如, 重要 EMR Serverless Spark引擎不支持List权限的鉴定。资源列表不支持根据用户权限进行过滤展示,所有资源均可见。 | |
Grant | 对Database进行授权操作。例如, | |
Table | Describe | 查看Table的元数据信息。例如, |
Alter | 修改Table。例如, | |
Drop | 删除Table。例如, | |
Select | 查看Table的数据。例如, 说明 在执行此操作之前,您必须具备Describe和Select两个权限。 | |
Update | 更新Table的数据。例如, | |
Grant | 对Table进行授权操作。例如, |
Owner权限
Owner定义
资源(Resource)的创建者称为资源的Owner,您可以在数据目录、数据库或表的详细信息页签查看Owner信息。对象的Owner默认拥有该资源的所有权限,并且可以授予对象本身及其所有子对象的权限。
Owner权限的定义
资源的Owner拥有该资源的所有权限,以及其子资源的授权权限。例如,当数据库的所有者为RAM用户user_a时,user_a具备执行Alter Database、Drop Database、Grant Table等操作的权限。
资源的Owner权限不能向其子资源扩展。例如,数据库的Owner仅拥有数据库的Owner权限,而无法自动获得该数据库下所有数据表的Owner权限。
Owner权限的鉴定
当通过阿里云RAM用户或OpenAPI方式登录数据湖构建控制台时,该用户可以获得当前用户身份(或其等价身份)所拥有资源的Owner权限。