华为云用户手册

  • 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概述 如果您需要对华为云上购买的LakeFormation资源,为企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用 统一身份认证 服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。 通过IAM,您可以在华为云账号中给员工创建IAM用户,并授权控制其对华为云资源的访问范围。例如您希望其拥有LakeFormation的使用权限,但是不希望其拥有删除数据库等高危操作的权限,那么您可以使用IAM创建用户,通过授予仅能查询LakeFormation实例,但是不允许删除的权限,控制其对云服务资源的使用范围。 如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过对应权限管理操作。 IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。关于IAM的详细介绍,请参见IAM产品介绍。
  • IAM权限 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 LakeFormation授权时,在全局级服务中设置权限,不需要切换区域。 权限根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对LakeFormation服务,管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。
  • 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 删除LakeFormation实例 √ x x 恢复LakeFormation实例 √ x x 查询租户所有标签 √ √ √ 更新LakeFormation实例的标签 √ √ 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"}]}
  • 隐式LakeFormation权限 尽管没有在LakeFormation中进行显式的授权,但是LakeFormation管理员、数据库创建者、表创建者拥有隐式LakeFormation权限。 LakeFormation管理员: LakeFormation管理员指的是拥有LakeFormation FullAccess权限的用户。 对于其账号下的所有元数据具有读写权限。 可以向任何用户、用户组、角色授予或撤销任何元数据的访问权限。 数据库创建者:拥有其创建的数据库的所有数据库权限,拥有其在数据库中创建表的权限,并且可以向同一IAM账号中的其他用户授予在数据库中创建表的权限。数据库创建者对其他人在数据库中创建的表不具有隐式权限。 表创建者: 具有其创建的表的所有权限。 可以向同一IAM账号中的主体授予对其创建的所有表的权限。 可以查看包含自己创建的表的数据库。
  • 与其他服务的关系 LakeFormation服务与其他服务的关系如下表所示。 表1 LakeFormation服务与其他服务的关系 服务名称 LakeFormation服务与其他服务的关系 统一身份认证(Identity and Access Management,IAM) 通过IAM完成对IAM用户或委托的身份认证以及部分访问控制。 云审计 服务(Cloud Trace Service, CTS ) 云审计服务记录LakeFormation服务相关的操作事件,方便用户日后的查询、审计和回溯。 对象存储服务 (Object Storage Service,OBS) LakeFormation服务的元数据所映射的实际业务数据,存储在OBS并行文件系统的目录和文件。 MapReduce服务 (MapReduce Service, MRS ) LakeFormation与MRS集群中的Ranger、Hive、Spark对接,实现湖、仓元数据统一管理。 数据仓库 服务 GaussDB (DWS) LakeFormation与DWS对接,实现湖、仓元数据统一管理。
  • LakeFormation权限概述 LakeFormation对于元数据权限和数据权限的管理,使用“粗粒度”的Identity and Access Management(简称IAM)权限和“细粒度”的LakeFormation权限的组合,实现精细访问控制。 “粗粒度”的IAM权限:对于各项操作有更广泛的权限。例如,推荐用户使用“lakeformation:*:create”(即LakeFormation所有元数据的创建权限),而不是使用“lakeformation:table:create”(即LakeFormation数据表的创建权限)来控制用户对于表的创建权限,同时使用“细粒度”LakeFormation权限“CREATE_TABLE”来控制用户是否能够在某个Database下创建一个Table元数据。 “细粒度”的LakeFormation权限:指使用LakeFormation权限,向各个主体(包括用户、用户组、角色等)授予对于元数据、OBS路径以及其中的数据的访问权限。 IAM权限模型由IAM策略组成。LakeFormation权限模型使用LakeFormation定义的权限主体、授权对象、权限组成,详细介绍请参考基本概念。 当用户请求访问元数据或数据时,请求必须通过IAM和LakeFormation的权限检查才能成功。 父主题: 权限管理
  • 更新管理 SSL证书采用SSL协议进行通信,SSL证书部署到服务器后,服务器端的访问将启用HTTPS协议。您的网站将会通过HTTPS加密协议来传输数据,可帮助服务器端和客户端之间建立加密链接,从而保证数据传输的安全。 SSL证书存在有效期限制,证书过期后不被信任,已安装证书的网站业务会受到影响(提示访问不安全或无法访问)。 LakeFormation实例会定期自动更新SSL证书,确保提供持续稳定的HTTPS服务。 父主题: 安全
  • LakeFormation权限 用户可以在管理控制台的LakeFormation实例界面,针对该实例下的所有Catalog、Database、Table等数据资源,授予用户组等主体细粒度的数据访问权限。 经过以上授权操作,形成一条或多条权限策略,权限策略包含授权主体、授权对象、权限、授权权限等。 表1介绍了不同元数据类型的LakeFormation权限: 表1 不同授权类型的操作权限 授权类型 操作类型 权限说明 Catalog ALL Catalog的所有操作权限。 ALTER 修改Catalog。 CREATE_DATABASE 创建数据库。 DROP 删除Catalog。 DESCRIBE 查看Catalog的元数据信息或切换Catalog。 LIST_DATABASE 查看Catalog下资源列表。 数据库 ALL 数据库的所有操作权限。 ALTER 修改数据库。 DROP 删除数据库。 DESCRIBE 查看数据库的元数据信息或切换数据库。 LIST_TABLE 查看数据库下资源列表。 LIST_FUNC 查看某一数据库下的函数。 CREATE_TABLE 在数据库中创建表。 CREATE_FUNC 在数据库中创建函数。 表 ALL 表的所有操作权限。 ALTER 修改表。 DROP 删除表。 DESCRIBE 查看表的元数据信息。 UPDATE 更新表数据。 INSERT 插入表数据。 SELECT 查询表内数据。 DELETE 删除表的数据。 列 SELECT 查询表内的列数据。 函数 ALL 函数的所有操作权限。 ALTER 修改函数。 DROP 删除函数。 DESCRIBE 查看函数的元数据信息。 EXEC 执行函数。 路径 READ 路径下文件的读权限。 WRITE 路径下文件的写权限。
  • 到期与欠费 用户欠费后,可以查看欠费详情。为防止相关资源被停止或者释放,需要用户及时进行充值。如果账户余额不足,账号将进入欠费状态,需要在约定时间内支付欠款,详细操作请参考欠费还款。 如果没有及时地进行续费或充值,将进入宽限期。如宽限期满仍未续费或充值,将进入保留期。在保留期内资源将停止服务。保留期满仍未续费或充值,存储在云服务中的数据将被删除、云服务资源将被释放。详细说明请参考“资源停止服务或逾期释放说明”。宽限期与保留期的具体规则请参考“宽限期保留期”。
  • 约束与限制 建议使用推荐的浏览器登录LakeFormation管理界面: Chrome:94.0及更高版本。 Edge:随Windows操作系统更新。 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相同,不建议在同一个区域中的不同实例创建同名角色。
  • 函数(Function) 在SQL查询中使用函数对数据进行特定处理,包括内置函数和用户自定义函数UDF(User-Defined Functions)。 用户自定义函数分为以下几类: 普通的UDF,用于操作单个数据行,且产生一个数据行作为输出。 用户定义聚集函数UDAF(User-Defined Aggregating Functions),用于接受多个输入数据行,并产生一个输出数据行。 用户定义表生成函数UDTF(User-Defined Table-Generating Functions),用于操作单个输入行,产生多个输出行。
  • 区域与可用区 通常用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region)指物理的数据中心。每个区域完全独立,这样可以实现一定程度的容错能力和稳定性。资源创建成功后不能更换区域。 可用区(AZ,Availability Zone)是同一区域内,电力和网络互相隔离的物理区域,一个可用区不受其他可用区故障的影响。一个区域内可以有多个可用区,不同可用区之间物理隔离,但内网互通,既保障了可用区的独立性,又提供了低价、低时延的网络连接。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。 父主题: 基本概念
  • 产品生命周期 生命周期是指LakeFormation实例从创建到删除(或释放)历经的各种状态。LakeFormation各状态说明请参考表1。 表1 LakeFormation状态说明 状态 说明 资源准备中 创建LakeFormation实例后,LakeFormation实例状正在进行资源准备。 资源准备失败 创建LakeFormation实例后,LakeFormation实例准备资源失败。 运行中 LakeFormation实例正常运行状态。在这个状态的实例可以运行您的业务。 资源释放中 执行删除LakeFormation实例操作后,资源正在进行释放。 删除中 触发删除LakeFormation实例后,在LakeFormation实例在彻底被删除之前的状态。 已删除 LakeFormation实例已经删除成功。 恢复中 已删除的实例正在从回收站中恢复。 冻结 如果您的账号因为欠费或者违规,LakeFormation实例将被冻结。此时该实例处于只读状态,不能进行修改和删除操作。
  • 授权对象 LakeFormation中管理的元数据对象,包含Catalog、Database、Table等数据资源,如某一数据库、某些数据表的列等。允许授权的资源类型包括“CATA LOG ”、“DATABASE”、“TABLE”、“COLUMN”、“FUNC”等。 数据目录(CATALOG):LakeFormation管理的数据目录,可以包含多个数据库。 数据库(DATABASE):LakeFormation管理的数据库,可以包含多个数据表或函数。 数据表(TABLE):LakeFormation管理的数据表,可以包含多个列。 列(COLUMN):LakeFormation管理的列。 函数(FUNC):LakeFormation管理的函数。
  • 计费项 华为云 湖仓构建 服务LakeFormation根据您选择的实例规格和使用时长计费。 详细的计费项及说明请参考表1。 您也可以通过LakeFormation提供的价格计算器,选择您需要的实例规格和使用时长等,来快速计算出购买LakeFormation实例的参考价格。 表1 计费项信息 实例规格 计费项 计费说明 独享型 元数据对象数量 按照元数据对象使用量收费,元数据对象数量为Catalog、数据库、表、分区、索引、函数数量之和。 按照万个/小时计费,不足万个按照万个计算。 每秒查询率(QPS) 按照用户购买时选择的QPS上限进行计费。当前支持购买1W至5W五种QPS规格。 共享型 元数据对象数量 按照元数据对象使用量收费,元数据对象数量为Catalog、数据库、表、分区、索引、函数数量之和。 前100万个不计费,后续按照万个/小时计费,不足万个按照万个计算。 API调用次数 按照元数据相关API的调用次数收费,每个月前100万次不收费,后续按每次计费。
  • LakeFormation架构 LakeFormation服务架构图如图1所示。 图1 LakeFormation服务架构 LakeFormation功能包括元数据管理、数据权限管理、控制台、API。 元数据基于Hive元数据模型,支持Catalog、数据库、表、函数等元数据对象。 数据权限管理提供权限策略的配置和对应的权限访问控制。 授权主体支持IAM用户和用户组以及LakeFormation角色。 授权对象支持Catalog、数据库、表及列、函数等元数据对象,也支持OBS并行文件系统路径。 授权操作包含元数据对象的相关操作,以及OBS路径的读写操作。 Console支持实例管理、元数据管理、数据权限管理、接入管理、任务管理等操作。 API层提供支持兼容Hive社区的元数据接口,以及兼容Ranger社区的权限同步接口,以便于MRS、DWS等服务的集成对接。
  • 产品功能 表1列出了湖仓构建LakeFormation提供的常用功能特性。 在使用LakeFormation之前,建议您先了解湖仓构建服务LakeFormation的基本概念,以便更好地理解LakeFormation提供的各项功能。 表1 湖仓构建服务LakeFormation功能概览 功能名称 功能描述 实例类型 LakeFormation提供了不同实例类别,满足不同场景下客户对性能和成本的不同诉求。具体介绍请参考共享型与独享型LakeFormation对比。 实例管理 LakeFormation提供实例的创建、总览、删除等基本功能,帮助您便捷地进行实例管理,加速实现 数据湖 承载的业务的规划和部署。 元数据管理 LakeFormation提供数据湖元数据Catalog、数据库、数据表等的创建、修改、查看、删除等功能,并支持配置元数据生命周期。帮助您便捷地进行数据湖初始化构建以及持续运营,集中式的统一管理LakeFormation实例下所有的元数据,加速实现数据湖承载的业务的规划和部署。 数据权限管理 LakeFormation提供针对Catalog、Database、Table等数据资源的授权、取消、查看等功能。帮助您对数据湖实现便捷的统一的数据权限管理。 任务管理 LakeFormation支持将外部服务的元数据及其权限全量或增量迁移至当前LakeFormation实例中,对元数据及权限进行统一管理。 接入管理 LakeFormation提供统一的接入管理能力,用户可以通过创建接入客户端的方式为指定的客户端环境建立网络连接通道,同时可以在客户端详情中查看接入IP、接入 域名 等信息,用于其他云服务接入LakeFormation实例。
  • 产品优势 生态开放 遵循开源事实标准,支撑存量业务平滑演进。 提供兼容Hive/Spark/Flink/Trino社区的元数据接口,支持计算引擎平滑对接。 提供兼容Ranger的权限接口,一次授权,统一生效。 提供迁移工具,支持存量MRS集群相关元数据的平滑迁移。 数智融合 打通大数据的数据壁垒,实现真正数智融合。 支持数据库、表、函数、模型、非结构化数据集等统一管理。 实现统一的细粒度数据权限管理,支持跨服务/跨集群的数据共享。 大规格高可靠 支撑超大规模大数据业务的高可靠。 超大规模元数据管理能力。 统一权限管理能力,支持海量细粒度权限管理。 支持多AZ的容灾能力。 简单易用 提供基于元数据的增值管理能力。 Serverless架构,开箱即用。 提供数据湖管理、元数据统计等管理能力。
  • 前提条件 当前实例已创建存储迁移元数据的Catalog。 待操作用户具有OBS相关操作权限、具有已创建存储迁移元数据的Catalog的操作权限。 已创建了用于存储迁移数据的OBS并行文件系统。 表的Owner只能包含字母、数字和下划线(_),且长度为1~49个字符。不能包含中划线(-)等其他字符。 如果需要迁移多个MRS集群中的元数据到同一个LakeFormation实例,MRS集群之间的Database名称不能重复。 如果需要进行多次迁移,表的列更新需要满足列排序和列类型一致的兼容性要求。
  • 前提条件 已参考元数据迁移完成元数据迁移。 当前用户具有OBS相关操作权限,且已创建用于存储数据的OBS并行文件系统。 需将待迁移的权限策略文件导出,并上传至OBS并行文件系统中。权限导出操作可联系对应服务支持人员。 权限策略中授权主体(除角色外)需要提前创建,且名称需保持一致;权限策略中包含的元数据已存在,且名称一致。 如果迁移类型为DLF,其对应关系及迁移策略如下: RAM 用户:IAM用户(如果对应的IAM用户不存在,该权限策略不进行迁移) RAM角色:IAM用户组(如果对应的IAM用户组不存在,该权限策略不进行迁移) DLF角色:LakeFormation角色(不存在会自动创建) 如果迁移类型为Ranger,则仅支持Ranger的allow权限迁移,不支持deny权限迁移。
  • 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: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路径。
  • 操作流程 图1 给用户授权LakeFormation权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予LakeFormation服务对应权限。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1.创建用户组并授权中创建的用户组。 用户登录并验证权限 以新创建的用户登录云服务控制台,切换至授权区域,验证权限是否生效。 例如: 在“服务列表”中选择LakeFormation服务,进入总览界面,单击右上角“购买实例”,实例创建界面正常展示,表示“lakeformation:role:create”权限已生效。
  • 支持审计日志的操作 表1 云审计服务支持的LakeFormation服务操作 操作名称 资源类型 事件名称 创建Catalog Catalog createCatalog 删除Catalog Catalog dropCatalog 修改Catalog Catalog alterCatalog 创建数据库 Database createDatabase 删除数据库 Database dropDatabase 修改数据库 Database alterDatabase 创建数据表 Table createTable 删除数据表 Table dropTable 修改数据表 Table alterTable 清空表的数据 Table truncateTable 创建函数 Function createFunction 修改函数属性 Function alterFunction 删除函数 Function dropFunction 创建实例 instance createInstance 修改实例 instance updateInstance 删除实例 instance deleteInstance 授予权限 Access grantAccess 取消授权 Access revokeAccess 更新表的指定列统计信息 TableColumnStatistic setTableColumnStatistics 删除表的指定列统计信息 TableColumnStatistic deleteTableColumnStatistics 批量创建表的列限制条件 TableConstraint addConstraints 删除列限制条件 TableConstraint deleteConstraints 批量添加分区信息 Partition addPartitions 批量修改分区信息 Partition alterPartitions 批量删除分区信息 Partition dropPartitions 批量清空列表信息 Partition truncatePartitions 批量设置分区的统计信息 PartitionColumnStatistic setPartitionColumnStatistics 删除分区列的统计信息 PartitionColumnStatistic deletePartitionColumnStatistics
  • 数据权限概述 数据湖权限支持配置数据库、数据表、函数等维度的权限。 云服务管理员可针对不同的管理对象配置不同用户组的权限,统一对数据湖资源进行管理。 用户可通过LakeFormation管理控制台对数据湖内的资源进行统一权限管理,对于IAM用户/用户组,也可以通过关联LakeFormation服务的细粒度权限策略进行特性权限场景的授权,参见创建LakeFormation自定义IAM策略。当湖内数据资源较多时,建议通过LakeFormation管理控制台对数据湖内的资源进行统一权限管理。 LakeFormation配置权限时需要包含如下要素: 表1 LakeFormation权限要素 权限要素 描述 授权主体 被授予权限的对象,使其具备针对某数据资源的指定访问权限的用户组、角色、IAM用户、委托用户等身份,如某一用户组、某一角色等。 授权主体(用户组、角色、IAM用户、委托用户)名称中不能包含中划线(-),否则可能造成操作失败。 授权类型 数据湖中管理的资源: 数据目录(Catalog) 数据库(Database) 数据表(Table) 数据列(Column) 函数(Function) OBS路径。 操作类型 主体对授权类型的访问权限,不同授权类型支持的操作类型各不相同,可参见表2。 赋予授权权限 是否赋予授权权限,赋予授权权限后,授权主体便可以将拥有将权限授权给其他授权主体。 表2 不同授权类型的操作权限 授权类型 操作类型 权限说明 Catalog ALL Catalog的所有操作权限。 ALTER 修改Catalog。 CREATE_DATABASE 创建数据库。 DROP 删除Catalog。 DESCRIBE 查看Catalog的元数据信息或切换Catalog。 LIST_DATABASE 查看Catalog下资源列表。 数据库 ALL 数据库的所有操作权限。 ALTER 修改数据库。 DROP 删除数据库。 DESCRIBE 查看数据库的元数据信息或切换数据库。 LIST_TABLE 查看数据库下资源列表。 LIST_FUNC 查看某一数据库下的函数。 CREATE_TABLE 在数据库中创建表。 CREATE_FUNC 在数据库中创建函数。 表 ALL 表的所有操作权限。 ALTER 修改表。 DROP 删除表。 DESCRIBE 查看表的元数据信息。 UPDATE 更新表数据。 INSERT 插入表数据。 SELECT 查询表内数据。 DELETE 删除表的数据。 列 SELECT 查询表内的列数据。 函数 ALL 函数的所有操作权限。 ALTER 修改函数。 DROP 删除函数。 DESCRIBE 查看函数的元数据信息。 EXEC 执行函数。 路径 READ 路径下文件的读权限。 WRITE 路径下文件的写权限。 权限管理员通常分为系统权限管理员与业务权限管理员,需要具备的IAM权限与权限管理范围不同 系统权限管理员 需要拥有以下IAM操作权限:lakeformation:policy:describe、lakeformation:policy:create、lakeformation:policy:drop。 权限管理范围:可将任意元数据权限授予给其他授权主体,可撤销任意元数据权限。 业务权限管理员 需要拥有以下IAM操作权限: lakeformation:policy:describe、lakeformation:policy:delegate。 权限管理范围:需要被业务管理员赋予授权权限,才能将元数据权限授予其他授权主体,或撤销元数据权限。 例如:系统中存在系统权限管理员User A、业务权限管理员User B、普通用户User C。User A将Catalog1的ALL权限授予User B并同时赋予授权权限后,User B可将Catalog1的DESC等权限授予User C。但User B无法将其他Catalog的权限授予User C。 父主题: 管理数据权限
  • LakeFormation自定义策略样例 示例1:授权用户批量LakeFormation只读权限 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:instance:describe", "lakeformation:role:describe", "lakeformation:policy:export", "lakeformation:group:describe", "lakeformation:function:describe", "lakeformation:catalog:describe", "lakeformation:policy:describe", "lakeformation:table:describe", "lakeformation:database:describe" ] } ]} 示例2:拒绝用户删除数据 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 如果您给用户授予Admin的系统策略,但不希望用户拥有删除LakeFormation的Catalog、数据库、表的权限,您可以创建一条拒绝删除云服务的自定义策略,然后同时将Admin和拒绝策略授予用户,根据Deny优先原则,则用户可以对LakeFormation执行除了删除Catalog、数据库、表外的所有操作。 拒绝策略示例如下: { "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "lakeformation:database:drop", "lakeformation:table:drop", "lakeformation:catalog:drop" ] } ]} 示例3:多个云服务同时授权项策略 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:bucket:CreateBucket" ] }, { "Effect": "Allow", "Action": [ "lakeformation:table:create", "lakeformation:database:create", "lakeformation:catalog:create" ] } ]}
  • 请求消息 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json;charset=utf8”。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。
  • 响应示例 { "count": 10, "records": [ { "begin_time": "string", "end_time": "string", "description": null, "instance_id": "string", "version": "string", "current_used": true, "status": "string", "deploy_type": "string", "jobs": [ { "sequence": 0, "deploy_type": "string", "job_id": "string", "job_info": { "deploy_type": "string", "source_url": "string", "first_batch_weight": 0, "first_batch_replica": 0, "replica": 0, "remaining_batch": 0 } } ] } ]}
  • 响应消息 表4 响应参数 参数 参数类型 描述 count Integer 记录总数。 records Array of objects 记录列表,请参考表5。 表5 records参数 参数 参数类型 描述 begin_time String 开始时间。 end_time String 结束时间。 description Object 描述。 instance_id String 实例ID。 version String 版本号。 current_used Boolean 当前使用。 status String 状态。 deploy_type String 部署类型。 OneBatchRelease,单批部署。 RollingRelease,滚动部署。 GrayRelease,灰度发布。 jobs Array of objects 任务列表 ,请参考表6。 表6 jobs 参数 参数类型 描述 sequence Integer 执行顺序。 deploy_type String 部署类型。 OneBatchRelease,单批部署。 RollingRelease,滚动部署。 GrayRelease,灰度发布。 job_id String 任务ID。 job_info Object 任务信息,请参考表7。 表7 job_info 参数 参数类型 描述 deploy_type String 部署类型 source_url String 组件来源 first_batch_weight Integer 首次执行权重 first_batch_replica Integer 首次部署组件实例 replica Integer 总实例 remaining_batch Integer 剩余批次
  • 响应参数 状态码: 400 表5 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表6 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
共99354条