云服务器内容精选

  • 约束与限制 IAM 用户组被删除后,LakeFormation云服务数据权限中的相关权限策略,需要用户手动清理删除。 建库时路径不能为所在Catalog父路径或相同路径,不能为同一Catalog下其他数据库(除default外)路径的父路径、子路径或相同路径。 创建数据库的存储位置必须在所属Catalog的存储位置之下。 用户自定义创建的Catalog对象及其子元数据对象,暂不支持授权和细粒度权限控制。 LakeFormation数据权限单次授权,授权主体不能超过20个,元数据对象不能超过10个。 LakeFormation中,总分区数量不超过1,000,000,000。 LakeFormation不支持跨Region的元数据和权限统一管理。 LakeFormation不支持跨实例的元数据和权限统一管理。 一个数据表中,每个分区所对应的Partition Value组合必须在全表唯一。 由Partition Keys和Partition Values组合构成的Partition Name,总长度不能超过1000字符。 元数据的参数描述中,1个中文字符对应3个字节。 LakeFormation依赖OBS服务的并行文件系统,OBS需要基于大数据存算分离场景进行分离部署;LakeFormation元数据的存储位置对应OBS路径,与存算分离架构的 MRS 等大数据集群对接。OBS并行文件系统需要支持AccessLabel特性。 LakeFormation中,不同实例的同名角色在授权时对应的OBS AccessLabel相同,不建议在同一个区域中的不同实例创建同名角色。
  • LakeFormation架构 LakeFormation服务架构图如图1所示。 图1 LakeFormation服务架构 LakeFormation功能包括元数据管理、数据权限管理、控制台、API。 元数据基于Hive元数据模型,支持Catalog、数据库、表、函数等元数据对象。 数据权限管理提供权限策略的配置和对应的权限访问控制。 授权主体支持IAM用户和用户组以及LakeFormation角色。 授权对象支持Catalog、数据库、表及列、函数等元数据对象,也支持OBS并行文件系统路径。 授权操作包含元数据对象的相关操作,以及OBS路径的读写操作。 Console支持实例管理、元数据管理、数据权限管理、接入管理、任务管理等操作。 API层提供支持兼容Hive社区的元数据接口,以及兼容Ranger社区的权限同步接口,以便于MRS、DWS等服务的集成对接。
  • 产品优势 生态开放 遵循开源事实标准,支撑存量业务平滑演进。 提供兼容Hive/Spark/Flink/Trino社区的元数据接口,支持计算引擎平滑对接。 提供兼容Ranger的权限接口,一次授权,统一生效。 提供迁移工具,支持存量MRS集群相关元数据的平滑迁移。 数智融合 打通大数据的数据壁垒,实现真正数智融合。 支持数据库、表、函数、模型、非结构化数据集等统一管理。 实现统一的细粒度数据权限管理,支持跨服务/跨集群的数据共享。 大规格高可靠 支撑超大规模大数据业务的高可靠。 超大规模元数据管理能力。 统一权限管理能力,支持海量细粒度权限管理。 支持多AZ的容灾能力。 简单易用 提供基于元数据的增值管理能力。 Serverless架构,开箱即用。 提供 数据湖 管理、元数据统计等管理能力。
  • 产品功能 表1列出了 湖仓构建 LakeFormation提供的常用功能特性。 在使用LakeFormation之前,建议您先了解湖仓构建服务LakeFormation的基本概念,以便更好地理解LakeFormation提供的各项功能。 表1 湖仓构建服务LakeFormation功能概览 功能名称 功能描述 实例类型 LakeFormation提供了不同实例类别,满足不同场景下客户对性能和成本的不同诉求。具体介绍请参考共享型与独享型LakeFormation对比。 实例管理 LakeFormation提供实例的创建、总览、删除等基本功能,帮助您便捷地进行实例管理,加速实现数据湖承载的业务的规划和部署。 元数据管理 LakeFormation提供数据湖元数据Catalog、数据库、数据表等的创建、修改、查看、删除等功能,并支持配置元数据生命周期。帮助您便捷地进行数据湖初始化构建以及持续运营,集中式的统一管理LakeFormation实例下所有的元数据,加速实现数据湖承载的业务的规划和部署。 数据权限管理 LakeFormation提供针对Catalog、Database、Table等数据资源的授权、取消、查看等功能。帮助您对数据湖实现便捷的统一的数据权限管理。 任务管理 LakeFormation支持将外部服务的元数据及其权限全量或增量迁移至当前LakeFormation实例中,对元数据及权限进行统一管理。 接入管理 LakeFormation提供统一的接入管理能力,用户可以通过创建接入客户端的方式为指定的客户端环境建立网络连接通道,同时可以在客户端详情中查看接入IP、接入 域名 等信息,用于其他云服务接入LakeFormation实例。
  • 前提条件 当前实例已创建存储迁移元数据的Catalog。 待操作用户具有OBS相关操作权限、具有已创建存储迁移元数据的Catalog的操作权限。 已创建了用于存储迁移数据的OBS并行文件系统。 表的Owner只能包含字母、数字和下划线(_),且长度为1~49个字符。不能包含中划线(-)等其他字符。 如果需要迁移多个MRS集群中的元数据到同一个LakeFormation实例,MRS集群之间的Database名称不能重复。 如果需要进行多次迁移,表的列更新需要满足列排序和列类型一致的兼容性要求。
  • LakeFormation的IAM权限列表 表3列举了LakeFormation的所有IAM权限。 表3 LakeFormation的IAM权限列表 操作类型 操作项 描述 只读 lakeformation:access:describe 查询接入客户端。 lakeformation:agency:describe 查询委托。 lakeformation:catalog:describe 查询Catalog元数据。 lakeformation:configuration:describe 查询配置。 lakeformation:credential:describe 查询认证信息。 lakeformation:database:describe 查询数据库元数据。 lakeformation:file:describe 查询文件。 lakeformation:function:describe 查询函数元数据。 lakeformation:group:describe 查询用户组以及关联角色关系。 lakeformation:instance:describe 查询实例。 lakeformation:instance:listAuthorizedLocation 查询已授权给LakeFormation服务的OBS路径。 lakeformation:instanceJob:describe 查询实例级任务。 lakeformation:job:describe 查询任务。 lakeformation:metadataEvent:describe 查询元数据事件。 lakeformation:obs:describe 查询OBS桶列表。 lakeformation:part:describe 查询分区。 lakeformation:policy:describe 查询权限策略。 lakeformation:policy:export 批量查询权限策略。 lakeformation:role:describe 查询角色。 lakeformation:table:describe 查询表元数据。 lakeformation:tableFile:describe 查询文件。 lakeformation:tableFileGroup:describe 查询表文件组元数据。 lakeformation:tag:describe 查询资源标签。 lakeformation:user:describe 查询用户以及关联角色关系。 写 lakeformation:access:create 创建接入客户端。 lakeformation:access:delete 删除接入客户端。 lakeformation:agency:create 创建委托。 lakeformation:agency:drop 删除委托。 lakeformation:catalog:alter 修改Catalog元数据。 lakeformation:catalog:create 创建Catalog元数据。 lakeformation:catalog:drop 删除Catalog元数据。 lakeformation:database:alter 修改数据库元数据。 lakeformation:database:create 创建数据库元数据。 lakeformation:database:drop 删除数据库元数据。 lakeformation:dataset:create 创建数据集元数据。 lakeformation:file:create 创建文件。 lakeformation:file:drop 删除文件。 lakeformation:file:alter 修改文件。 lakeformation:function:alter 修改函数元数据。 lakeformation:function:create 创建函数元数据 lakeformation:function:drop 删除函数元数据。 lakeformation:group:alter 修改用户组以及关联角色关系。 lakeformation:instance:access 申请接入服务。 lakeformation:instance:alter 修改实例。 lakeformation:instance:create 创建实例。 lakeformation:instance:drop 删除实例。 lakeformation:instanceJob:alter 修改任务。 lakeformation:instanceJob:create 创建任务。 lakeformation:instanceJob:drop 删除任务。 lakeformation:instanceJob:exec 执行实例级任务。 lakeformation:instance:createSubscriber 创建元数据事件订阅者。 lakeformation:instance:deleteSubscriber 删除元数据事件订阅者。 lakeformation:job:alter 修改任务。 lakeformation:job:create 创建任务。 lakeformation:job:drop 删除任务。 lakeformation:job:exec 执行任务。 lakeformation:model:create 创建模型元数据。 lakeformation:metadata:restore 恢复元数据。 lakeformation:part:alter 修改分区。 lakeformation:part:drop 删除分区。 lakeformation:part:create 创建分区。 lakeformation:policy:create 创建权限策略。 lakeformation:policy:delegate 将权限策略委托给其他授权主体。 lakeformation:policy:drop 删除权限策略。 lakeformation:role:alter 修改角色以及关联用户组关系。 lakeformation:role:create 创建角色。 lakeformation:role:drop 删除角色。 lakeformation:table:alter 修改表元数据。 lakeformation:table:create 创建表元数据。 lakeformation:table:drop 删除表元数据。 lakeformation:tableFile:alter 修改表文件。 lakeformation:tableFile:create 创建表文件。 lakeformation:tableFile:drop 删除表文件。 lakeformation:tableFileGroup:alter 修改表文件组元数据。 lakeformation:tableFileGroup:create 创建表文件组元数据。 lakeformation:tableFileGroup:drop 删除表文件组元数据。 lakeformation:transaction:operate 操作事务。 lakeformation:user:alter 修改用户以及关联角色关系。 权限管理 lakeformation:accessService:grant 授权接入服务。 lakeformation:accessTenant:grant 授权接入租户。 lakeformation:accessAgency:describe 查询接入委托信息。 lakeformation:accessService:describe 查看接入服务。 lakeformation:agreement:describe 查询服务协议授权。 lakeformation:agreement:cancel 取消服务协议授权。 lakeformation:agreement:grant 授权服务协议授权。 lakeformation:instance:authorizeLocation 授权将OBS路径授权给LakeFormation服务。 lakeformation:instance:cancelAuthorizeLocation 取消授权OBS路径。
  • IAM系统策略 表1介绍了LakeFormation的默认系统策略。 表1 LakeFormation系统策略 系统角色/策略名称 描述 类别 依赖关系 LakeFormation FullAccess LakeFormation管理员权限,拥有该权限的用户可以操作并使用所有LakeFormation服务功能。 系统策略 IAM AgencyFullAccess OBS OperateAccess VPC FullAccess VPCEndpoint FullAccess LakeFormation ReadOnlyAccess LakeFormation只读权限,拥有该权限的用户可以执行LakeFormation所有查询类功能。 系统策略 IAM ReadOnlyAccess OBS ReadOnlyAccess VPC ReadOnlyAccess VPCEndpoint ReadOnlyAccess LakeFormation CommonOperations LakeFormation基础权限,包含LakeFormation服务协议查看/授权/取消,以及OBS、TMS等周边依赖服务的基础权限集合。 系统策略 IAM ReadOnlyAccess OBS ReadOnlyAccess VPC FullAccess VPCEndpoint FullAccess 表2介绍了lakeFormation常用操作与系统权限的授权关系,您可以参考该表选择合适的系统权限。 表2 LakeFormation常用操作与系统策略的授权关系 操作 LakeFormation FullAccess LakeFormation CommonOperations LakeFormation ReadOnlyAccess 查询LakeFormation实例 √ √ √ 创建LakeFormation实例 √ x x 变更LakeFormation实例 √ x x 删除LakeFormation实例 √ x x 恢复LakeFormation实例 √ x x 查询租户所有标签 √ √ √ 更新LakeFormation实例的标签 √ √ x 创建元数据迁移/发现任务 √ √ x 修改元数据迁移/发现任务 √ √ x 删除元数据迁移/发现任务 √ √ x 查询元数据迁移/发现任务 √ √ √ 查询元数据迁移/发现任务日志 √ √ x 运行/停止元数据迁移/发现任务 √ √ x 同意用户协议 √ √ √ 查询用户协议 √ √ √ 删除用户协议 √ √ √ 授权LakeFormation服务创建委托 √ x x 查询LakeFormation服务创建的委托 √ √ √ 删除LakeFormation服务创建的委托 √ x x 授权资源 √ x x 查询授权资源 √ √ √ 取消授权资源 √ x x 查询OBS桶列表 √ √ √ 查询OBS桶对象列表 √ √ √ 创建服务接入客户端 √ √ x 查询服务接入客户端 √ √ √ 删除服务接入客户端 √ √ x 订阅元数据事件 √ √ x 取消订阅元数据事件 √ √ x 查询元数据事件 √ √ √ 查询Catalog元数据 √ √ √ 创建Catalog元数据 √ √ x 修改Catalog元数据 √ √ x 删除Catalog元数据 √ √ x 查询Database元数据 √ √ √ 创建Database元数据 √ √ x 修改Database元数据 √ √ x 删除Database元数据 √ √ x 查询Table元数据 √ √ √ 创建Table元数据 √ √ x 修改Table元数据 √ √ x 删除Table元数据 √ √ x 查询Partition元数据 √ √ √ 创建Partition元数据 √ √ x 修改Partition元数据 √ √ x 删除Partition元数据 √ √ x 查询列统计信息 √ √ √ 创建列统计信息 √ √ x 修改列统计信息 √ √ x 删除列统计信息 √ √ x 查询Function元数据 √ √ √ 创建Function元数据 √ √ x 修改Function元数据 √ √ x 删除Function元数据 √ √ x 查询Model元数据 √ √ √ 创建Model元数据 √ √ x 修改Model元数据 √ √ x 删除Model元数据 √ √ x 查询ModelFile元数据 √ √ √ 创建ModelFile元数据 √ √ x 修改ModelFile元数据 √ √ x 删除ModelFile元数据 √ √ x 查询dataset元数据 √ √ √ 创建dataset元数据 √ √ x 修改dataset元数据 √ √ x 删除dataset元数据 √ √ x 查询元数据数量 √ √ √ 查询授权主体 √ √ √ 创建角色 √ √ x 删除角色 √ √ x 修改角色 √ √ x 查询角色 √ √ √ 将用户/用户组加入角色 √ √ x 将用户/用户组移除角色 √ √ x 更新角色中的用户/用户组 √ √ x 将元数据权限授权给授权主体 √ √ x 取消授权元数据权限给授权主体 √ √ x 查询授权信息 √ √ √ 获取访问数据的STSToken √ √ x LakeFormation系统策略所包含的详细内容如下: LakeFormation FullAccess策略内容 { "Version": "1.1", "Statement": [ { "Action": [ "lakeformation:*:*", "vpc:*:get", "vpc:*:list", "tms:predefineTags:list", "obs:bucket:ListAllMyBuckets", "obs:bucket:ListBucket", "obs:bucket:HeadBucket", "obs:object:GetObject" ], "Effect": "Allow" } ] } LakeFormation CommonOperations策略 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:*:describe*", "lakeformation:*:list*", "lakeformation:policy:export", "lakeformation:access:create", "lakeformation:access:delete", "lakeformation:accessAgency:describe", "lakeformation:accessService:describe", "lakeformation:accessService:grant", "lakeformation:accessTenant:grant", "lakeformation:agreement:cancel", "lakeformation:agreement:describe", "lakeformation:agreement:grant", "lakeformation:catalog:alter", "lakeformation:catalog:create", "lakeformation:catalog:drop", "lakeformation:database:alter", "lakeformation:database:create", "lakeformation:database:drop", "lakeformation:dataset:alter", "lakeformation:dataset:alterFile", "lakeformation:dataset:alterFileGroup", "lakeformation:dataset:create", "lakeformation:dataset:createFile", "lakeformation:dataset:createFileGroup", "lakeformation:dataset:drop", "lakeformation:dataset:dropFile", "lakeformation:dataset:dropFileGroup", "lakeformation:function:alter", "lakeformation:function:create", "lakeformation:function:drop", "lakeformation:group:alter", "lakeformation:instance:access", "lakeformation:instance:alter", "lakeformation:instanceJob:alter", "lakeformation:instanceJob:create", "lakeformation:instanceJob:drop", "lakeformation:instanceJob:exec", "lakeformation:job:alter", "lakeformation:job:create", "lakeformation:job:drop", "lakeformation:job:exec", "lakeformation:model:alter", "lakeformation:model:alterFile", "lakeformation:model:create", "lakeformation:model:createFile", "lakeformation:model:drop", "lakeformation:model:dropFile", "lakeformation:policy:create", "lakeformation:policy:drop", "lakeformation:role:alter", "lakeformation:role:create", "lakeformation:role:drop", "lakeformation:table:alter", "lakeformation:table:create", "lakeformation:table:drop", "lakeformation:transaction:operate", "lakeformation:user:alter", "vpc:*:get", "vpc:*:list", "tms:predefineTags:list", "obs:bucket:ListAllMyBuckets", "obs:bucket:ListBucket", "obs:bucket:HeadBucket", "obs:object:GetObject" ] } ] } LakeFormation ReadOnlyAccess策略 { "Version": "1.1", "Statement": [ { "Action": [ "lakeformation:*:describe*", "lakeformation:*:list*", "lakeformation:policy:export", "lakeformation:agreement:cancel", "lakeformation:agreement:describe", "lakeformation:agreement:grant", "vpc:*:get", "vpc:*:list", "tms:predefineTags:list", "obs:bucket:ListAllMyBuckets", "obs:bucket:ListBucket", "obs:bucket:HeadBucket", "obs:object:GetObject" ], "Effect": "Allow" } ] }
  • IAM概述 如果您需要对华为云上购买的LakeFormation资源,为企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用 统一身份认证 服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。 通过IAM,您可以在华为云账号中给员工创建IAM用户,并授权控制其对华为云资源的访问范围。例如您希望其拥有LakeFormation的使用权限,但是不希望其拥有删除数据库等高危操作的权限,那么您可以使用IAM创建用户,通过授予仅能查询LakeFormation实例,但是不允许删除的权限,控制其对云服务资源的使用范围。 如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过对应权限管理操作。 IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。关于IAM的详细介绍,请参见IAM产品介绍。
  • IAM权限 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 LakeFormation授权时,在全局级服务中设置权限,不需要切换区域。 权限根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对LakeFormation服务,管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。
  • 操作步骤 创建OBS并行文件系统,详情请参考创建并行文件系统章节。例如文件系统名称为“lakeformation-test”。 在并行文件系统页面,单击已创建的文件系统名称,例如“lakeformation-test”。 在左侧导航栏选择“文件”,单击“新建文件夹”,填写待创建的文件夹名称,单击“确定”。继续单击该文件夹名称,单击“新建文件夹”,可以创建其子文件夹。 参考该步骤,依次创建用于存放元数据的路径,例如: Catalog存储路径:lakeformation-test/catalog1 数据库存储路径:lakeformation-test/catalog1/database1 数据表存储路径:lakeformation-test/catalog1/database1/table1、lakeformation-test/catalog1/database1/table2 函数存储路径:lakeformation-test/catalog1/database1/udf1
  • 创建存储元数据的OBS路径 创建OBS并行文件系统,详情请参考创建并行文件系统章节。例如文件系统名称为“lakeformation-test”。 在并行文件系统页面,单击已创建的文件系统名称,例如“lakeformation-test”。 在左侧导航栏选择“文件”,单击“新建文件夹”,填写待创建的文件夹名称,单击“确定”。继续单击该文件夹名称,单击“新建文件夹”,可以创建其子文件夹。 参考该步骤,依次创建用于存放元数据的路径,例如: Catalog存储路径:lakeformation-test/catalog1 数据库存储路径:lakeformation-test/catalog1/database1 数据表存储路径:lakeformation-test/catalog1/database1/table1、lakeformation-test/catalog1/database1/table2 函数存储路径:lakeformation-test/catalog1/database1/udf1
  • 约束说明 MRS对接LakeFormation前,需要注意以下约束限制: MRS集群和LakeFormation实例必须同在一个云账户下且属于同一个Region。 LakeFormation侧创建的接入客户端所在虚拟私有云,必须与MRS集群在同一虚拟私有云下。 MRS集群仅支持对接LakeFormation实例中名称为hive的Catalog。 MRS存量集群需要先完成元数据库和权限策略向LakeFormation实例上迁移,再配置对接。 如果需要迁移多个MRS集群中的元数据到同一个LakeFormation实例,MRS集群之间的Database名称不能重复。 MRS对接LakeFormation后,MRS组件功能约束限制: Hive暂不支持临时表功能。 Hive暂不支持跨集群的列加密表功能。 Hive WebHCat暂不支持对接LakeFormation。 Hive创建内表时如果表目录不为空,则禁止创建表。 Hudi表创建前,需要先在LakeFormation上添加Hudi表目录的路径授权,赋予OBS读写权限。 Hudi表不支持在LakeFormation管理面编辑表的字段,只能通过Hudi客户端增删改表的字段。 Flink读写Hudi场景下同步Hive表,仅支持使用hive_sync.mode=jdbc,不支持hms方式。 Spark使用小权限用户登录客户端创建数据库时,如果用户没有default库的OBS路径权限,将提示缺少权限,实际创建数据库成功。 MRS对接LakeFormation后,权限策略约束限制: 通过LakeFormation授权仅支持将LakeFormation角色作为授权主体,不支持IAM用户或IAM用户组作为授权主体。 PolicySync进程不会修改集群内RangerAdmin Hive模块的默认策略,默认策略仍然生效。 PolicySync进程启动后,会与LakeFormation实例的权限进行比对,删除LakeFormation上不存在的非默认策略,请先完成权限策略迁移到LakeFormation实例上。 RangerAdmin WebUI界面的Hive模块,禁止执行添加、删除权限非默认策略的操作,统一在LakeFormation实例的数据权限界面进行授权操作。 MRS集群取消对接LakeFormation后,RangerAdmin的非默认策略不会清理,需要人工进行清理。 Hive暂不支持Grant授权的SQL语句,需统一在LakeFormation实例的数据权限界面进行授权操作。 MRS暂不支持LakeFormation行过滤权限能力。
  • LakeFormation服务权限 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 权限根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 IAM项目只读授权指导:当租户管理员需要给某个子用户分配LakeFormation服务在某个IAM项目下的只读权限。可以给该用户创建一个用户组,同时在用户组将LakeFormation ReadOnlyAccess系统策略授权给指定IAM项目即可。 企业项目授权指导:当租户管理员需要给某个子用户分配LakeFormation服务在某个企业项目下的所有操作权限。可以给该用户创建一个用户组,同时在用户组中将LakeFormation CommonAccess授权给全局,将LakeFormation FullAccess授权给指定企业项目即可。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。多数细粒度策略以API接口为粒度进行权限拆分,LakeFormation的自定义IAM策略操作可参考创建LakeFormation自定义IAM策略。 表1 LakeFormation系统策略 系统角色/策略名称 描述 类别 依赖关系 LakeFormation FullAccess LakeFormation管理员权限,拥有该权限的用户可以操作并使用所有LakeFormation服务功能。 系统策略 IAM AgencyFullAccess OBS OperateAccess VPC FullAccess VPCEndpoint FullAccess LakeFormation ReadOnlyAccess LakeFormation只读权限,拥有该权限的用户可以执行LakeFormation所有查询类功能。 系统策略 IAM ReadOnlyAccess OBS ReadOnlyAccess VPC ReadOnlyAccess VPCEndpoint ReadOnlyAccess LakeFormation CommonOperations LakeFormation基础权限,包含LakeFormation服务协议查看/授权/取消,以及OBS、TMS等周边依赖服务的基础权限集合。 系统策略 IAM ReadOnlyAccess OBS ReadOnlyAccess VPC FullAccess VPCEndpoint FullAccess 表2 LakeFormation的IAM权限列表 操作类型 操作项 描述 只读 lakeformation:access:describe 查询接入客户端。 lakeformation:accessAgency:describe 查询接入委托信息。 lakeformation:accessService:describe 查看接入服务。 lakeformation:agency:describe 查询委托。 lakeformation:agreement:describe 查询服务协议授权。 lakeformation:catalog:describe 查询Catalog元数据。 lakeformation:configuration:describe 查询配置。 lakeformation:credential:describe 查询认证信息。 lakeformation:database:describe 查询数据库元数据。 lakeformation:dataset:describe 查询数据集元数据。 lakeformation:dataset:describeFile 查询数据集文件元数据。 lakeformation:dataset:describeFileGroup 查询数据集文件组元数据。 lakeformation:function:describe 查询函数元数据。 lakeformation:group:describe 查询用户组信息。 lakeformation:instance:describe 查询实例。 lakeformation:instance:listAuthorizedLocation 查询授权资源。 lakeformation:instanceJob:describe 查询任务。 lakeformation:model:describe 查询模型元数据。 lakeformation:model:describeFile 查询模型文件元数据。 lakeformation:obs:describe 查询OBS桶列表。 lakeformation:policy:describe 查询权限策略。 lakeformation:policy:export 批量查询权限策略。 lakeformation:role:describe 查询角色。 lakeformation:table:describe 查询表元数据。 lakeformation:tableFileGroup:describe 查询表文件组元数据。 lakeformation:tag:describe 查询资源标签。 lakeformation:user:describe 查询用户以及关联角色关系。 写 lakeformation:access:create 创建接入客户端。 lakeformation:access:delete 删除接入客户端。 lakeformation:agency:create 创建委托。 lakeformation:agency:drop 删除委托。 lakeformation:catalog:alter 修改Catalog元数据。 lakeformation:catalog:create 创建Catalog元数据。 lakeformation:catalog:drop 删除Catalog元数据。 lakeformation:database:alter 修改数据库元数据。 lakeformation:database:create 创建数据库元数据。 lakeformation:database:drop 删除数据库元数据。 lakeformation:dataset:alter 修改数据集元数据。 lakeformation:dataset:alterFile 修改数据集文件元数据。 lakeformation:dataset:alterFileGroup 修改数据集文件组元数据。 lakeformation:dataset:create 创建数据集元数据。 lakeformation:dataset:createFile 创建数据集文件元数据。 lakeformation:dataset:createFileGroup 创建数据集文件组元数据。 lakeformation:dataset:drop 删除数据集元数据。 lakeformation:dataset:dropFile 删除数据集文件元数据。 lakeformation:dataset:dropFileGroup 删除数据集文件组元数据。 lakeformation:function:alter 修改函数元数据。 lakeformation:function:create 创建函数元数据 lakeformation:function:drop 删除函数元数据。 lakeformation:group:alter 修改用户组信息。 lakeformation:instance:access 申请接入服务。 lakeformation:instance:alter 修改实例。 lakeformation:instance:create 创建实例。 lakeformation:instance:drop 删除实例。 lakeformation:instanceJob:alter 修改任务。 lakeformation:instanceJob:create 创建任务。 lakeformation:instanceJob:drop 删除任务。 lakeformation:instanceJob:exec 执行任务。 lakeformation:model:alter 修改模型元数据。 lakeformation:model:alterFile 修改模型文件元数据。 lakeformation:model:create 创建模型元数据。 lakeformation:model:createFile 创建模型文件元数据。 lakeformation:model:drop 删除模型元数据。 lakeformation:model:dropFile 删除模型文件元数据。 lakeformation:policy:create 创建权限策略。 lakeformation:policy:drop 删除权限策略。 lakeformation:role:alter 修改角色。 lakeformation:role:create 创建角色。 lakeformation:role:drop 删除角色。 lakeformation:table:alter 修改表元数据。 lakeformation:table:create 创建表元数据。 lakeformation:table:drop 删除表元数据。 lakeformation:tableFileGroup:create 创建表文件组元数据。 lakeformation:tableFileGroup:drop 删除表文件组元数据。 lakeformation:transaction:operate 操作事务。 lakeformation:user:alter 修改用户以及关联角色关系。 权限管理 lakeformation:accessService:grant 授权接入服务。 lakeformation:accessTenant:grant 授权接入租户。 lakeformation:agreement:cancel 取消服务协议授权。 lakeformation:agreement:grant 授权服务协议授权。 lakeformation:instance:authorizeLocation 授权OBS路径。 lakeformation:instance:cancelAuthorizeLocation 取消授权OBS路径。
  • 操作流程 图1 给用户授权LakeFormation权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予LakeFormation服务对应权限。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1.创建用户组并授权中创建的用户组。 用户登录并验证权限 以新创建的用户登录云服务控制台,切换至授权区域,验证权限是否生效。 例如: 在“服务列表”中选择LakeFormation服务,进入总览界面,单击右上角“购买实例”,实例创建界面正常展示,表示“lakeformation:role:create”权限已生效。
  • 前提条件 已参考元数据迁移完成元数据迁移。 当前用户具有OBS相关操作权限,且已创建用于存储数据的OBS并行文件系统。 需将待迁移的权限策略文件导出,并上传至OBS并行文件系统中。权限导出操作可联系对应服务支持人员。 权限策略中授权主体(除角色外)需要提前创建,且名称需保持一致;权限策略中包含的元数据已存在,且名称一致。 如果迁移类型为DLF,其对应关系及迁移策略如下: RAM 用户:IAM用户(如果对应的IAM用户不存在,该权限策略不进行迁移) RAM角色:IAM用户组(如果对应的IAM用户组不存在,该权限策略不进行迁移) DLF角色:LakeFormation角色(不存在会自动创建) 如果迁移类型为Ranger,则仅支持Ranger的allow权限迁移,不支持deny权限迁移。