本文详细介绍了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等)。 |
操作步骤
使用RAM管理员登录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。 | |
用户角色管理 | 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 | 查询数据目录列表。 | |
GetCatalogByld | dlf:GetCatalogByld | 根据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表版本历史列表。 |