全部產品
Search
文件中心

Data Lake Formation:資料許可權概述

更新時間:Jul 13, 2024

資料湖許可權支援設定資料庫、資料表、資料列、函數四種維度細粒度許可權。下面針對不同的資料操作,對所需要配置的許可權進行說明,並對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 及以上版本(規劃中)

    支援

    支援

    支援

    支援