管理LakeFormation数据源
DWS支持使用LakeFormation管理元数据,通过在控制台上创建LakeFormation数据源访问LakeFormation上的元数据。
该特性受限商用,仅支持存算分离形态9.0.1及以上集群版本或存算一体形态8.2.1.300及以上集群版本。
前提条件
- 有可用的LakeFormation实例。详情请参见创建LakeFormation实例。
- 在LakeFormation控制台中的“接入管理”页面创建DWS集群所在VPC下的客户端,详情请参见管理接入客户端。
- 创建包含LakeFormation权限的委托(需包含最小权限),可参见创建LakeFormation委托配置,如果不配置在使用时将会报错。
- DWS调用LakeFormation管控面API时,账号如果为子账号则需要包含LakeFormation权限(至少包含lakeformation:instance:access、lakeformation:instance:describe)。
创建LakeFormation委托
创建LakeFormation数据源前需要用户提前创建好授权给DWS具有“LakeFormation CommonOperations Access”和“LakeFormationObsAccess”权限的委托。
操作步骤
- 鼠标移动至页面右上角账号,单击“统一身份认证”,进入统一身份认证服务页面。
- 在左侧导航栏选择“权限管理 > 权限”,在权限页面右上角单击“创建自定义策略”。
- 创建LakeFormationObsAccess自定义策略(如果已包含相同策略则忽略),相关参数配置如下,配置完成后单击“确定”。
- 策略名称:LakeFormationObsAccess
- 策略配置方式:JSON视图
- 策略内容:
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:bucket:ListAllMyBuckets" ] }, { "Effect": "Allow", "Action": [ "obs:bucket:GetLifecycleConfiguration", "obs:bucket:GetBucketLocation", "obs:bucket:PutLifecycleConfiguration", "obs:bucket:PutBucketAcl", "obs:bucket:HeadBucket", "obs:bucket:GetBucketAcl", "obs:bucket:ListBucket" ], "Resource": [ "OBS:*:*:bucket:*" ] }, { "Effect": "Allow", "Action": [ "obs:object:GetAccessLabel", "obs:object:PutObjectVersionAcl", "obs:object:DeleteAccessLabel", "obs:object:PutObjectAcl", "obs:object:PutAccessLabel", "obs:object:GetObjectVersion", "obs:object:GetObject", "obs:object:GetObjectVersionAcl", "obs:object:DeleteObject", "obs:object:DeleteObjectVersion", "obs:object:GetObjectAcl", "obs:object:PutObject" ], "Resource": [ "OBS:*:*:object:*" ] } ] } - 策略描述:Permissions required for LakeFormation to access OBS
- 作用范围:全局级服务
- 在左侧导航栏单击“委托”,在委托页面右上角单击“创建委托”。
- 创建委托时委托类型选择“云服务”,云服务选择“数据仓库服务 DWS”。
- 单击“完成”,在弹窗中单击“立即授权”对委托授予已创建的“LakeFormationObsAccess”自定义策略和“LakeFormation CommonOperations Access”系统策略权限。

- 单击“下一步”,选择授权资源范围为“所有资源”或需要访问的资源,确认无误后单击“确定”提交。
创建LakeFormation数据源
- 登录DWS管理控制台。
- 单击“专属集群 > 集群列表”。
- 在集群列表,单击指定集群的名称,进入“集群详情”页面。
- 在导航栏单击“数据源”,切换至“LakeFormation数据源”页签。
- 在LakeFormation数据源页面,单击“创建LakeFormation数据源连接”,填写配置参数。
图1 创建LakeFormation数据源连接
表1 LakeFormation数据源连接参数说明 参数名称
说明
数据源名称
要创建的LakeFormation数据源连接名称。
LakeFormation实例
欲要绑定的lakeFormation集群实例。
数据库
要创建的LakeFormation数据源连接所在的数据库。
委托
拥有LakeFormation授权的委托,用于dws系统通过委托token和LakeFormation交互以获取元数据。
描述
要创建的LakeFormation数据源连接的描述信息。
- 确认无误后,单击“确认”按钮,提交创建操作,创建过程大约需要1分钟左右。
更新配置
操作场景
- 当创建连接后不小心删除了VPC终端节点,导致无法正常使用数据源。
- 委托变更。
- 由于特殊原因导致token未能正常更新,确认问题修复后立即更新token。
操作步骤
- 登录DWS管理控制台。
- 单击“专属集群 > 集群列表”。
- 在集群列表,单击指定集群的名称,进入“集群详情”页面。
- 在导航栏单击“数据源”,切换至“LakeFormation数据源”页签。
- 在LakeFormation数据源列表中选择要更新的LakeFormation数据源,单击所在行“操作”列的“更新配置”按钮。
- 更新时只能更改委托,确认无误后,单击“确认”按钮,提交更新操作,更新过程大概需要1分钟左右。
图2 更新LakeFormation数据源连接
删除LakeFormation数据源
- 登录DWS管理控制台。
- 单击“专属集群 > 集群列表”。
- 在集群列表,单击指定集群的名称,进入“集群详情”页面。
- 在导航栏单击“数据源”,切换至“LakeFormation数据源”页签。
- 在LakeFormation数据源列表中选择要删除的LakeFormation数据源,单击所在行“操作”列的“删除”按钮。
- 确认无误后,单击“确认”按钮,提交删除操作,删除操作过程大概需要10秒钟左右。
使用LakeFormation数据源
使用LakeFormation数据源操作详情请参见《数据仓库服务开发指南》中的“数据迁移 > 导入数据 > 使用LakeFormation数据源导入数据”章节。