文档

数据权限概述

更新时间:

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

权限要素

类别

说明

主体(Principal)

被授予权限的用户或角色。

  • 用户:包含阿里云账号、RAM用户(子账户)、RAM角色。支持查询用户操作。

  • 角色:DLF有自己内置的管理角色,也支持自定义角色。支持添加、删除、查询自定义角色等管理操作。角色管理详情,请参见角色管理

资源(Resource)

数据湖中管理的资源包括:

  • 数据目录(Catalog):数据湖构建的元数据最上层实体,它可以包含多个数据库。

  • 库(Database):数据组织的基本单元,存储数据表的集合。

  • 表(Table):存放具体数据的结构化实体。

访问资源的方式(Access)

访问资源的方式依据资源类型而异。例如,数据库支持CreateTable、List等权限;表支持Select、Update等权限。

权限概览

数据湖构建支持的权限如下表所示。

资源 (Resource)

访问资源的方式 (Access)

说明

Catalog

Alter

修改Catalog。例如,alter catalog <catalog_name> set ...等。

Drop

删除Catalog。例如,drop catalog <catalog_name>

Grant

对Catalog进行授权操作。例如,grant drop on catalog <catalog_name> to ...

Create Database

在Catalog中创建Database。例如,create database <catalog_name>.<database_name> ...

Database

Describe

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

Alter

修改Database。例如,alter database <database_name> set dbproperties (property_name=property_value, ...)

Drop

删除Database。例如,drop database <database_name>

Create Table

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

List

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

重要

EMR Serverless Spark引擎不支持List权限的鉴定。资源列表不支持根据用户权限进行过滤展示,所有资源均可见。

Grant

对Database进行授权操作。例如,grant describe on database <database_name> to ...

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>

说明

在执行此操作之前,您必须具备Describe和Select两个权限。

Update

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

Grant

对Table进行授权操作。例如,grant describe on table <table_name> to ...

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权限。