数据权限支持配置数据目录、数据库、数据表、数据列、函数五种维度细粒度权限。下面针对不同的数据操作,对所需要配置的权限进行说明,并对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用户同名的Linux或LDAP用户。
中单击RAM用户查看用户名信息。在使用E-MapReduce引擎时,建议使用
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 及以上版本(规划中) | 支持 | 支持 | 支持 | 支持 |