文档

数据权限概述

数据湖权限支持配置数据库、数据表、数据列、函数四种维度细粒度权限。下面针对不同的数据操作,对所需要配置的权限进行说明,并对Owner权限的定义和权限鉴定方式进行详细说明。

权限设置

权限设置主要为数据目录(Catalog)开启和关闭权限功能,详细文档参考:权限设置

背景信息

配置权限时需要包含如下三个要素。

权限要素

说明

主体(Principal)

被授予权限的用户或角色。用户必须为阿里云RAM用户或RAM Role;角色为数据湖角色管理中创建的角色。

Principal具有如下几种格式:

  • 阿里云主账户:acs:ram::<阿里云账号uid>:root,例如acs:ram::123456:root

  • 阿里云RAM子账户:acs:ram::<阿里云账号uid>:user/<RAM用户名>,例如acs:ram::123456:user/user_a

  • 阿里云RAM Role:acs:ram::<阿里云账号uid>:role/<RAM Role名称>,例如acs:ram::123456:role/role_a

资源(Resource)

数据湖中管理的资源。

  • 库(Database):数据湖元数据中管理的库

  • 表(Table):数据湖元数据中管理的表

  • 列(Column):数据湖元数据中管理的列

访问资源的方式(Access)

访问资源的方式与资源类型有关,不同资源类型支持的访问方式各不相同。如库支持CreateTable、List等权限,表支持Select、Update等权限,列只支持Select权限。

权限总览

数据湖权限支持的权限列表如下:

资源(Resource)

访问资源的方式(Access)

说明

Database

Describe

查看Database的元数据信息或切换Database。例如desc database <database_name>use <database_name>等。

Alter

修改Database。例如alter database <database_name> set location '<path>'等。

Drop

删除Database。例如drop database <database>

Create Table

在Database中创建Table。例如create table <database_name>.<table_name> ...

List

查看Database下资源列表。例如show tables

重要

  • E-MapReduce Spark引擎不支持List权限的鉴定。

  • 资源列表暂不支持根据用户权限进行过滤展示,所有资源都将显示出来。

Table

Describe

查看Table的元数据信息。例如desc formatted <table_name>等。

Alter

修改Table。例如alter table <table_name> add columns ...alter table <table_name> drop partition ...等。

Drop

删除Table。例如drop table <table_name>

Select

查看Table的数据。例如select * from <table_name>

Update

更新Table的数据。例如insert into table <table_name>delete from <table_name> where ...等。

Column

Select

查看Column的数据。例如select <column_name1>, <column_name2> from <table_name>

Function

Describe

查看Function的元数据信息

Alter

修改Function的信息

Drop

删除Function

Execute

使用或执行Function

Owner权限

Owner定义

资源(Resource)的创建者称为资源的Owner。您可以在元数据库或元数据表基本信息中,查看到元数据库或元数据表的Owner信息。

元数据库Owner信息元数据表Owner信息

  • 使用阿里云RAM用户在数据湖元数据管理中新建元数据库或元数据表时,该RAM用户即为元数据库或元数据表资源的Owner,Owner以用户对应的Principal格式表示。

  • 在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为当前用户身份(或等价身份)的资源的Owner权限。

  • 使用E-MapReduce引擎访问数据湖元数据资源时,用户身份为Linux或LDAP用户,可以获取Owner为当前用户身份(或等价身份)的资源的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 及以上版本(规划中)

    支持

    支持

    支持

    支持

  • 本页导读 (0)
文档反馈