數據權限
數據權限支持配置數據目錄、數據庫、數據表、數據列、函數五種維度細粒度權限。下面針對不同的數據操作,對所需要配置的權限進行說明,并對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 及以上版本(規劃中) | 支持 | 支持 | 支持 | 支持 |