權限管理
數據湖權限支持配置數據目錄、數據庫和數據表三種維度的細粒度權限。本文針對不同的數據操作,對所需要配置的權限進行說明,并對Owner權限的定義和權限鑒定方式進行詳細說明。
權限要素
類別 | 說明 |
主體(Principal) | 被授予權限的用戶或角色。
|
資源(Resource) | 數據湖中管理的資源包括:
|
訪問資源的方式(Access) | 訪問資源的方式依據資源類型而異。例如,數據庫支持CreateTable、List等權限;表支持Select、Update等權限。 |
權限概覽
數據湖構建支持的權限如下表所示。
資源 (Resource) | 訪問資源的方式 (Access) | 說明 |
Catalog | Alter | 修改Catalog。例如, |
Drop | 刪除Catalog。例如, | |
Grant | 對Catalog進行授權操作。例如, | |
Create Database | 在Catalog中創建Database。例如, | |
Database | Describe | 查看Database的元數據信息或切換Database。例如, |
Alter | 修改Database。例如, | |
Drop | 刪除Database。例如, | |
Create Table | 在Database中創建Table。例如, | |
Create Function | 在Database中創建自定義函數。例如, | |
List | 查看Database下資源列表。例如, 重要 EMR Serverless Spark引擎不支持List權限的鑒定。資源列表不支持根據用戶權限進行過濾展示,所有資源均可見。 | |
Grant | 對Database進行授權操作。例如, | |
Table | Describe | 查看Table的元數據信息。例如, |
Alter | 修改Table。例如, | |
Drop | 刪除Table。例如, | |
Select | 查看Table的數據。例如, 說明 在執行此操作之前,您必須具備Describe和Select兩個權限。 | |
Update | 更新Table的數據。例如, | |
Grant | 對Table進行授權操作。例如, |
Owner權限
Owner定義
資源(Resource)的創建者稱為資源的Owner,您可以在數據目錄、數據庫或表的詳細信息頁簽查看Owner信息。對象的Owner默認擁有該資源的所有權限,并且可以授予對象本身及其所有子對象的權限。
Owner權限的定義
資源的Owner擁有該資源的所有權限,以及其子資源的授權權限。例如,當數據庫的所有者為RAM用戶user_a時,user_a具備執行Alter Database、Drop Database、Grant Table等操作的權限。
資源的Owner權限不能向其子資源擴展。例如,數據庫的Owner僅擁有數據庫的Owner權限,而無法自動獲得該數據庫下所有數據表的Owner權限。
Owner權限的鑒定
當通過阿里云RAM用戶或OpenAPI方式登錄數據湖構建控制臺時,該用戶可以獲得當前用戶身份(或其等價身份)所擁有資源的Owner權限。