全部產品
Search
文件中心

Data Lake Formation:資料許可權

更新時間:Nov 29, 2024

資料許可權支援配置資料目錄、資料庫、資料表、資料列、函數五種維度細粒度許可權。下面針對不同的資料操作,對所需要配置的許可權進行說明,並對Owner許可權的定義和許可權評鑑方式進行詳細說明。

許可權管理

使用權限設定

使用權限設定主要功能是為資料目錄(Catalog)開啟和關閉許可權,詳情請參見使用權限設定

背景資訊

配置許可權時需要包含如下三個要素。

許可權要素

說明

主體

被授予許可權的使用者或角色。使用者必須為阿里雲RAM使用者或RAM Role;角色為資料湖角色管理中建立的角色。

主體具有如下幾種格式:

  • 阿里雲主賬戶: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

資源

資料湖中管理的資源:

  • 資料目錄(Catalog):資料湖中繼資料最上層實體,它可以包含多個資料庫。

  • 庫(Database):資料湖中繼資料中管理的庫。

  • 表(Table):資料湖中繼資料中管理的表。

  • 列(Column):資料湖中繼資料中管理的列。

  • 函數(Function):資料湖中繼資料中管理的函數。

訪問資源的方式

訪問資源的方式與資源類型有關,不同資源類型支援的訪問方式各不相同。如庫支援CreateTable、List等許可權,表支援Select、Update等許可權,列只支援Select許可權。

許可權總覽

資料湖許可權支援的許可權列表如下:

資源

訪問資源的方式

說明

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 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資訊。

image

image

  • 使用阿里雲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 及以上版本(規劃中)

支援

支援

支援

支援