本文詳細介紹了DLF中REST API和管控API所需的RAM許可權Action列表及其對應的功能說明,方便您配置精細化的權限原則,實現許可權最小化管理,確保安全性和操作靈活性。
概念介紹
REST API:資料鏈路API,基於Paimon/Iceberg REST API實現,用於資料的高效訪問與操作。
管控API:管控鏈路API,基於阿里雲OpenAPI構建,用於實現高效的資源管理與營運操作。
說明如需通過DLF管控台對Catalog、庫、表進行管理,您需要具備相應的管控API許可權。若您無需訪問管控平台,則不必授予這些管控API許可權。請根據賬戶實際需求,在DLF管控台中為所需執行的操作授予對應的Action許可權。
權限原則
通過為RAM使用者或RAM角色綁定權限原則,可以獲得權限原則中指定的存取權限。
策略名稱稱 | 說明 |
AliyunDLFFullAccess | 具備所有DLF API的調用許可權,適合需要進行全面資料湖管理的使用者。 |
AliyunDLFReadOnlyAccess | 旨在提供唯讀許可權,表示具備所有DLF唯讀API(例如,List、Get操作)的調用許可權。該策略禁止執行任何寫入或刪除操作(Create、Delete等)。 |
操作步驟
使用Resource Access Management員登入RAM控制台。
在左側導覽列,選擇。
在使用者頁面,單擊目標RAM使用者操作列的添加許可權。
在新增授權面板,為RAM使用者添加許可權。
單擊確認新增授權。
RAM授權策略樣本
您可以建立自訂權限原則,實現精微調權限管理。詳情請參見建立自訂權限原則。
{
"Version": "1",
"Statement": [
{
"Action": [
"dlf:ListDatabases",
"dlf:CreateDatabase",
"dlf:GetDatabase",
"dlf:AlterDatabase",
"dlf:ListTables",
"dlf:CreateTable",
"dlf:GetTable",
"dlf:AlterTable",
"dlf:ListPartitions",
"dlf:ListViews"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
設定REST API所需Action
Paimon REST
分類 | REST API | RAM鑒權Action | 說明 |
Config | GetConfig | dlf:GetConfig | 擷取資料目錄的配置。 |
Database | ListDatabases | dlf:ListDatabases | 查詢資料庫列表。 |
CreateDatabase | dlf:CreateDatabase | 建立資料庫。 | |
GetDatabase | dlf:GetDatabase | 擷取資料庫。 | |
DropDatabase | dlf:DropDatabase | 刪除資料庫。 | |
AlterDatabase | dlf:AlterDatabase | 變更資料庫。 | |
Table | ListTables | dlf:ListTables | 查詢表列表。 |
CreateTable | dlf:CreateTable | 建立表。 | |
ListTableDetails | dlf:ListTableDetails | 查詢表詳細資料列表。 | |
GetTable | dlf:GetTable | 擷取表。 | |
AlterTable | dlf:AlterTable | 變更表。 | |
DropTable | dlf:DropTable | 刪除表。 | |
RenameTable | dlf:RenameTable | 重新命名表。 | |
CommitTable | dlf:CommitTable | 提交表變更。 | |
RollbackTable | dlf:RollbackTable | 復原表。 | |
GetTableToken | dlf:GetTableToken | 擷取訪問表資料的憑證。 | |
GetTableSnapshot | dlf:GetTableSnapshot | 擷取錶快照。 | |
Partition | ListPartitions | dlf:ListPartitions | 查詢分區列表。 |
MarkDonePartitions | dlf:MarkDonePartitions | 標記完成分區。 | |
Branch | ListBranches | dlf:ListBranches | 查詢表分支列表。 |
CreateBranch | dlf:CreateBranch | 建立表分支。 | |
DropBranch | dlf:DropBranch | 刪除表分支。 | |
ForwardBranch | dlf:ForwardBranch | Forward表分支。 | |
View | ListViews | dlf:ListViews | 查詢檢視列表。 |
CreateView | dlf:CreateView | 建立視圖。 | |
GetView | dlf:GetView | 擷取視圖。 | |
AlterView | dlf:AlterView | 變更視圖 | |
DropView | dlf:DropView | 刪除視圖。 | |
RenameView | dlf:RenameView | 重新命名視圖。 | |
Function | ListFunctions | dlf:ListFunctions | 查詢函數列表 |
CreateFunction | dlf:CreateFunction | 建立函數 | |
GetFunction | dlf:GetFunction | 擷取函數 | |
AlterFunction | dlf:AlterFunction | 變更函數 | |
DropFunction | dlf:DropFunction | 刪除函數 |
Iceberg REST
分類 | REST API | RAM鑒權Action | 說明 |
Config | GetConfig | dlf:GetConfig | 擷取資料目錄的配置。 |
Namespace | ListNamespaces | dlf:ListDatabases | 查詢命名空間列表。 |
CreateNamespace | dlf:CreateDatabase | 建立命名空間。 | |
LoadNamespaceMetadata | dlf:GetDatabase | 擷取命名空間。 | |
NamespaceExists | dlf:GetDatabase | 檢查命名空間是否存在。 | |
UpdateProperties | dlf:AlterDatabase | 更新命名空間屬性。 | |
DropNamespace | dlf:DropDatabase | 刪除命名空間。 | |
Table | ListTables | dlf:ListTables | 查詢表列表。 |
CreateTable | dlf:CreateTable | 建立表。 | |
LoadTable | dlf:GetTable | 擷取表。 | |
TableExists | dlf:GetTable | 檢查表是否存在。 | |
UpdateTable | dlf:AlterTable | 更新表。 | |
DropTable | dlf:DropTable | 刪除表。 |
設定管控API所需Action
分類 | 管控API | RAM鑒權Action | 說明 |
開通 | DescribeRegions | dlf:DescribeRegions | 擷取DLF服務的域列表。 |
GetRegionStatus | dlf:GetRegionStatus | 擷取開通狀態。 | |
Subscribe | dlf:Subscribe | 開通DLF。 | |
CreateInstance | dlf:CreateInstance | 購買計算資源。 | |
使用者角色管理 | GetUser | dlf:GetUser | 擷取使用者。 |
ListUsers | dlf:ListUsers | 查詢使用者列表。 | |
CreateRole | dlf:CreateRole | 建立角色。 | |
UpdateRole | dlf:UpdateRole | 更新角色。 | |
DeleteRole | dlf:DeleteRole | 刪除角色。 | |
GetRole | dlf:GetRole | 擷取角色。 | |
ListRoles | dlf:ListRoles | 查詢角色列表。 | |
GrantRoleToUsers | dlf:GrantRoleToUsers | 批量授予多個使用者指定角色許可權。 | |
RevokeRoleFromUsers | dlf:RevokeRoleFromUsers | 批量取消授予多個使用者指定角色許可權。 | |
UpdateRoleUsers | dlf:UpdateRoleUsers | 更新角色中的使用者。 | |
ListRoleUsers | dlf:ListRoleUsers | 查詢角色使用者列表。 | |
ListUserRoles | dlf:ListUserRoles | 查詢使用者角色列表。 | |
RefreshUserSync | dlf:RefreshUserSync | 啟動使用者同步。 | |
資料目錄 | CreateCatalog | dlf:CreateCatalog | 建立資料目錄。 |
GetCatalog | dlf:GetCatalog | 擷取資料目錄。 | |
DropCatalog | dlf:DropCatalog | 刪除資料目錄。 | |
AlterCatalog | dlf:AlterCatalog | 更新資料目錄。 | |
ListCatalogs | dlf:ListCatalogs | 查詢資料目錄列表。 | |
GetCatalogById | dlf:GetCatalogById | 根據CatalogId擷取資料目錄。 | |
資料庫 | AlterDatabase | dlf:AlterDatabase | 更新資料庫。 |
GetDatabase | dlf:GetDatabase | 擷取資料庫。 | |
DropDatabase | dlf:DropDatabase | 刪除資料庫。 | |
CreateDatabase | dlf:CreateDatabase | 建立資料庫。 | |
ListDatabaseDetails | dlf:ListDatabaseDetails | 查詢資料庫詳細資料列表。 | |
ListDatabases | dlf:ListDatabases | 查詢資料庫列表。 | |
表 | CreateTable | dlf:CreateTable | 建立表。 |
DropTable | dlf:DropTable | 刪除表。 | |
ListTableDetails | dlf:ListTableDetails | 查詢表詳細資料列表。 | |
GetTable | dlf:GetTable | 擷取表。 | |
ListTables | dlf:ListTables | 查詢表列表。 | |
視圖 | ListViews | dlf:ListViews | 查詢檢視列表 |
ListViewDetails | dlf:ListViewDetails | 查詢檢視詳細資料列表 | |
CreateView | dlf:CreateView | 建立視圖 | |
GetView | dlf:GetView | 擷取視圖 | |
AlterView | dlf:AlterView | 變更視圖 | |
DropView | dlf:DropView | 刪除視圖 | |
函數 | ListFunctions | dlf:ListFunctions | 查詢函數列表 |
ListFunctionDetails | dlf:ListFunctionDetails | 查詢函數詳細列表 | |
CreateFunction | dlf:CreateFunction | 建立函數 | |
GetFunction | dlf:GetFunction | 擷取函數 | |
AlterFunction | dlf:AlterFunction | 變更函數 | |
DropFunction | dlf:DropFunction | 刪除函數 | |
許可權管理 | GrantPermission | dlf:GrantPermission | 賦予資源許可權。 |
RevokePermission | dlf:RevokePermission | 取消資源許可權。 | |
BatchGrantPermissions | dlf:BatchGrantPermissions | 大量授權。 | |
BatchRevokePermissions | dlf:BatchRevokePermissions | 批量取消授權。 | |
ListPermissions | dlf:ListPermissions | 查詢指定資源的許可權列表。 | |
Iceberg表 | GetIcebergTable | dlf:GetIcebergTable | 擷取Iceberg表。 |
ListIcebergSnapshots | dlf:ListIcebergSnapshots | 查詢Iceberg表版本歷史列表。 |