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