权限管理

数据湖权限支持配置数据目录、数据库和数据表三种维度的细粒度权限。本文针对不同的数据操作,对所需要配置的权限进行说明,并对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> ...

Create Function

Database中创建自定义函数。例如,create function <function_name>(parameters) returns return_type as ...

List

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

Grant

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

Table

Select

查看Table的元数据或数据信息。例如,desc formatted <table_name>select * from <table_name>

Alter

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

Drop

删除Table。例如,drop table <table_name>

Update

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

Grant

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