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