数据权限支持配置数据目录、数据库、数据表、数据列、函数五种维度细粒度权限。下面针对不同的数据操作,对所需要配置的权限进行说明,并对Owner权限的定义和权限鉴定方式进行详细说明。
权限管理
权限设置
权限设置主要功能是为数据目录(Catalog)开启和关闭权限,详情请参见权限设置。
背景信息
配置权限时需要包含如下三个要素。
|
权限要素 |
说明 |
|
主体 |
被授予权限的用户或角色。用户必须为阿里云RAM用户或RAM Role;角色为数据湖角色管理中创建的角色。 主体具有如下几种格式:
|
|
资源 |
数据湖中管理的资源:
|
|
访问资源的方式 |
访问资源的方式与资源类型有关,不同资源类型支持的访问方式各不相同。如库支持CreateTable、List等权限,表支持Select、Update等权限,列只支持Select权限。 |
权限总览
数据湖权限支持的权限列表如下:
|
资源 |
访问资源的方式 |
说明 |
|
Catalog |
Alter |
修改Catalog。例如, |
|
Drop |
删除Catalog。例如, |
|
|
Grant |
对Catalog进行授权操作。例如, |
|
|
Create Database |
在Catalog中创建Database。例如, |
|
|
Database |
Describe |
查看Database的元数据信息或切换Database。例如 |
|
Alter |
修改Database。例如 |
|
|
Drop |
删除Database。例如 |
|
|
Create Table |
在Database中创建Table。例如 |
|
|
List |
查看Database下资源列表。例如 重要
|
|
|
Table |
Describe |
查看Table的元数据信息。例如 |
|
Alter |
修改Table。例如 |
|
|
Drop |
删除Table。例如 |
|
|
Select |
查看Table的数据。例如 |
|
|
Update |
更新Table的数据。例如 |
|
|
Column |
Select |
查看Column的数据。例如 |
|
Function |
Describe |
查看Function的元数据信息。 |
|
Alter |
修改Function的信息。 |
|
|
Drop |
删除Function。 |
|
|
Execute |
使用或执行Function。 |
Owner权限
Owner定义
资源(Resource)的创建者称为资源的Owner。您可以在数据库或数据表基本信息中,查看到数据库或数据表的Owner信息。
-
使用阿里云RAM用户在数据湖元数据管理中新建数据库或数据表时,该RAM用户即为数据库或数据表资源的Owner,Owner以用户对应的主体格式表示。
-
在E-MapReduce引擎中使用Linux或LDAP用户执行SQL命令创建资源时,该Linux或LDAP用户为资源的Owner。
-
Databricks引擎暂不支持资源Owner。
-
为了打通阿里云RAM用户与开源大数据用户体系,数据湖权限定义了当RAM用户与Linux或LDAP用户具有相同用户名时,两者作为Owner是等价的,例如Owner=acs:ram::<阿里云账号uid>:user/user_a与Owner=user_a等价。
-
阿里云主账户作为资源Owner时,没有等价的Linux或LDAP用户。需要特别注意的是Owner=acs:ram::<阿里云账号uid>:root与Owner=root不等价。
-
您可以在数据湖构建控制台的中单击RAM用户查看用户名信息。在使用E-MapReduce引擎时,建议使用管理用户添加与RAM用户同名的Linux或LDAP用户。
Owner权限的定义
资源Owner拥有对应资源的所有权限。例如,当数据库的Owner为RAM用户user_a时,user_a能够有权限执行Alter Database、Drop Database等操作。
资源的Owner权限不能向子资源扩展,例如数据库的Owner只能获取数据库的Owner权限,没有该数据库下所有数据表的Owner权限。
Owner权限的鉴定
-
使用阿里云RAM用户登录数据湖构建控制台时,用户身份为RAM用户,可以获取当前用户身份(或等价身份)相应资源的Owner权限。
-
使用E-MapReduce引擎访问数据湖元数据资源时,用户身份为Linux或LDAP用户,可以获取当前用户身份(或等价身份)相应资源的Owner权限。
-
Databricks引擎暂不支持Owner权限的鉴定。
支持的计算引擎
支持E-MapReduce产品,支持信息如下:
|
EMR 主版本 |
Hive |
Spark |
Presto |
Impala |
|
|
EMR 3.x版本 |
EMR-3.39.0及以前版本 |
不支持 |
不支持 |
不支持 |
不支持 |
|
EMR-3.40.0 |
支持 |
支持 |
支持 |
不支持 |
|
|
EMR-3.41.0 至 EMR-3.43.1 |
支持 |
支持 |
不支持 |
不支持 |
|
|
EMR-3.44.0 及以上版本(规划中) |
支持 |
支持 |
支持 |
支持 |
|
|
EMR 5.x版本 |
EMR-5.5.0及以前版本 |
不支持 |
不支持 |
不支持 |
不支持 |
|
EMR-5.6.0 |
支持 |
支持 |
支持 |
不支持 |
|
|
EMR-5.7.0 至 EMR-5.9.1 |
支持 |
支持 |
不支持 |
不支持 |
|
|
EMR-5.10.0 及以上版本(规划中) |
支持 |
支持 |
支持 |
支持 |
|