資料湖許可權支援設定資料庫、資料表、資料列、函數四種維度細粒度許可權。下面針對不同的資料操作,對所需要配置的許可權進行說明,並對Owner許可權的定義和許可權評鑑方式進行詳細說明。
使用權限設定
使用權限設定主要為資料目錄(Catalog)開啟和關閉許可權功能,詳細文檔參考:使用權限設定
背景資訊
配置許可權時需要包含如下三個要素。
許可權要素 | 說明 |
主體(Principal) | 被授予許可權的使用者或角色。使用者必須為阿里雲RAM使用者或RAM Role;角色為資料湖角色管理中建立的角色。 Principal具有如下幾種格式:
|
資源(Resource) | 資料湖中管理的資源。
|
訪問資源的方式(Access) | 訪問資源的方式與資源類型有關,不同資源類型支援的訪問方式各不相同。如庫支援CreateTable、List等許可權,表支援Select、Update等許可權,列只支援Select許可權。 |
許可權總覽
資料湖許可權支援的許可權列表如下:
資源(Resource) | 訪問資源的方式(Access) | 說明 |
Database | Describe | 查看Database的中繼資料資訊或切換Database。例如 |
Alter | 修改Database。例如 | |
Drop | 刪除Database。例如 | |
Create Table | 在Database中建立Table。例如 | |
List | 查看Database下資源清單。例如 重要
| |
Table | Describe | 查看Table的中繼資料資訊。例如 |
Alter | 修改Table。例如 | |
Drop | 刪除Table。例如 | |
Select | 查看Table的資料。例如 | |
Update | 更新Table的資料。例如 | |
Column | Select | 查看Column的資料。例如 |
Function | Describe | 查看Function的中繼資料資訊 |
Alter | 修改Function的資訊 | |
Drop | 刪除Function | |
Execute | 使用或執行Function |
Owner許可權
Owner定義
資源(Resource)的建立者稱為資源的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 及以上版本(規劃中) | 支援 | 支援 | 支援 | 支援 |