更新时间:2024-12-06 GMT+08:00

配置LakeFormation数据连接前准备

配置LakeFormation实例

  1. 登录华为云管理控制台,在左上角单击“”,选择“大数据 > 湖仓构建 LakeFormation”进入LakeFormation控制台。
  2. 单击页面右上角“购买实例”,参考创建LakeFormation实例创建LakeFormation实例。
  3. 创建名称为“hive”的Catalog、名称为“default”的数据库,如果实例中已存在则请跳过该步骤。详细操作可参考管理元数据

    MRS对接LakeFormation仅支持对接LakeFormation实例的数据目录名称为“hive”的Catalog。

    1. 确认左上角实例是新创建的LakeFormation实例名称后,进入“元数据 > Catalog”页面。(如果当前实例已包含名称为“hive”的Catalog,则跳过Catalog的创建操作。)
    2. 单击“创建Catalog”,配置以下参数后,单击“提交”。
      • Catalog名称:hive(固定名称,不可自定义)
      • 选择位置:单击“”选择Catalog对应的OBS存储路径,例如选择“obs://lakeformation-test/hive”(需提前创建),单击“确定”。
      • 其他参数根据实际需要进行配置。

    3. 在左侧导航栏选择“元数据 > 数据库”,单击“创建数据库”,配置以下信息并单击“提交”。(如果当前已包含名称为“default”的数据库,则跳过数据库的创建操作。)
      • 库名称:default(固定名称,不可自定义)
      • 所属Catalog:hive
      • 选择位置:单击“”选择hive Catalog存储路径下的位置,例如“obs://lakeformation-test/hive/default”(需提前创建),单击“确定”。
      • 其他参数根据实际需要进行配置。

  4. 在“数据权限 > 数据授权”页面,可根据业务需求对hive Catalog进行基于用户、用户组的授权。详细操作请参考新增授权章节。
  5. 选择“接入管理 > 创建客户端”,创建LakeFormation实例接入管理客户端。其中“虚拟私有云”和“所属子网”需要与待对接的MRS集群保持一致。详细操作请参考管理接入客户端

    MRS集群的VPC子网信息可通过MRS管理控制台中,MRS集群的概览页面中获取。

    客户端创建完成后,在客户端详情信息中获取对应客户端的“接入IP”信息并记录。

创建对接LakeFormation权限的委托

  1. 登录华为云管理控制台,选择“统一身份认证服务 IAM”。
  2. 在左侧导航栏选择“委托”,单击右上角的“创建委托”,配置相关参数,单击“下一步”。

    参数配置如下:

    • 委托名称:例如“visit_lakeformation_agency”
    • 委托类型:选择“普通账号”
    • 委托的账号:输入被委托的华为云账号名称
    • 持续时间:根据实际情况自定义
      图1 创建委托

  3. 在选择策略界面右上角单击“新建策略”,配置如下信息,单击“下一步”。

    • 策略名称:例如“dev_visit_lakeformation”
    • 策略配置方式:“可视化视图”或“JSON视图”
    • 策略内容:

      策略中必须包含“lakeformation:policy:export”和“lakeformation:role:describe”。其他参数按照实际需求进行配置。

      • 可视化视图:“云服务”选择“湖仓构建”;“操作”中选择所需操作权限。其他参数按照实际需求进行配置。

      • JSON视图,例如配置策略内容如下:
        {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "lakeformation:table:create",
                        "lakeformation:database:alter",
                        "lakeformation:table:alter",
                        "lakeformation:database:drop",
                        "lakeformation:database:create",
                        "lakeformation:role:describe",
                        "lakeformation:policy:create",
                        "lakeformation:policy:export",
                        "lakeformation:function:alter",
                        "lakeformation:function:describe",
                        "lakeformation:table:drop",
                        "lakeformation:catalog:describe",
                        "lakeformation:table:describe",
                        "lakeformation:function:drop",
                        "lakeformation:database:describe",
                        "lakeformation:function:create",
                        "lakeformation:transaction:operate",
                        "lakeformation:policy:drop"
                    ]
                }
            ]
        }

  4. 勾选新建的策略名称例如“dev_visit_lakeformation”,单击“下一步”。
  5. “设置最小授权范围”根据实际情况选择授权的资源范围,单击“确定”,创建委托。
  6. 在“委托”页面,将鼠标移动到新创建的委托名称上,获取具备访问LakeFormation权限的委托ID。

    图2 查看委托ID

创建对接OBS权限的委托

  1. 登录华为云管理控制台,选择“统一身份认证服务”。
  2. 在左侧导航栏选择“委托”,单击右上角的“创建委托”,选择相关参数,单击“下一步”。

    参数选择如下:

    • 委托名称:例如“visit_obs_agency”
    • 委托类型:选择“普通账号”
    • 委托的账号:输入被委托的华为云账号名称
    • 持续时间:根据实际情况自定义

  3. 在选择策略界面右上角单击“新建策略”,配置如下信息,单击“下一步”。

    • 策略名称:例如“dev_visit_obs”
    • 策略配置方式:JSON视图
    • 策略内容:填入如下信息。
      {
          "Version": "1.1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "obs:bucket:GetBucketLocation",
                      "obs:bucket:ListBucketMultipartUploads",
                      "obs:object:GetObject",
                      "obs:object:ModifyObjectMetaData",
                      "obs:object:DeleteObject",
                      "obs:object:ListMultipartUploadParts",
                      "obs:bucket:HeadBucket",
                      "obs:object:AbortMultipartUpload",
                      "obs:bucket:ListBucket",
                      "obs:object:PutObject"
                  ],
                  "Resource": [
                      "OBS:*:*:bucket:*",
                      "OBS:*:*:object:*"
                  ]
              }
          ]
      }

      Resource参数中“bucket”的参数值表示OBS桶名称,“object”的参数值表示OBS对象名称,可根据需要指定名称。配置为“*”表示对所有OBS桶或OBS对象适用此策略。

    • 其他参数按照实际需求进行配置。

  4. 勾选新建的策略名称例如“dev_visit_obs”,单击“下一步”。
  5. “设置最小授权范围”根据实际情况选择授权的资源范围,单击“确定”,创建委托。
  6. 在“委托”页面,将鼠标移动到新创建的委托名称上,获取具备访问OBS权限的委托ID。

创建对接ECS/BMS云服务委托

  1. 登录华为云管理控制台,选择“统一身份认证服务”。
  2. 在左侧导航栏选择“委托”,单击右上角的“创建委托”,设置相关参数,单击“下一步”。

    参数选择如下:

    • 委托名称:例如“lakeformation_test”
    • 委托类型:选择“云服务”
    • 云服务:选择“ECS BMS”
    • 持续时间:根据实际情况自定义

  3. 在选择策略界面右上角单击“新建策略”,配置如下信息,单击“下一步”。

    • 策略名称:自定义
    • 策略配置方式:选择JSON视图
    • 策略内容:配置如下信息
      {
          "Version": "1.1",
          "Statement": [
              {
                  "Action": [
                      "iam:agencies:assume"
                  ],
                  "Resource": {
                      "uri": [
                          "/iam/agencies/授予给自身账号具备访问LakeFormation权限的委托ID",
                          "/iam/agencies/授予给自身账号具备访问OBS权限的委托ID"
                      ]
                  },
                  "Effect": "Allow"
              }
          ]
      }
      • 授予给自身账号具备访问LakeFormation权限的委托ID:可参考6获取。
      • 授予给自身账号具备访问OBS权限的委托ID:可参考6获取。

  4. 选择新创建的自定义委托名称,单击“下一步”。
  5. “设置最小授权范围”根据实际情况选择授权的资源范围,单击“确定”,创建委托完成。

创建LakeFormation数据连接

创建LakeFormation数据连接的功能,需要联系技术支持申请开通白名单。

  1. 登录MRS控制台,在导航栏选择“数据连接”。
  2. 单击“新建数据连接 ”。
  3. 参考表1配置相关参数,单击“确定”完成创建。

    表1 配置LakeFormation数据连接

    参数

    示例

    说明

    类型

    LakeFormation

    选择“LakeFormation”,当前仅MRS 3.3.0-LTS及之后版本支持连接该类型。

    名称

    mrs_LakeFormation

    数据连接的名称。

    LakeFormation实例

    -

    选择LakeFormation实例名称。

    该实例需要先在LakeFormation实例创建后在此处引用,具体请参考创建LakeFormation实例。单击“查看LakeFormation实例”查看已创建的实例。

    虚拟私有云

    -

    需要与待对接的MRS集群在同一虚拟私有云。

    子网

    -

    选择子网名称。

    VPC终端节点

    -

    选择VPC终端节点,或单击“创建对应LakeFormation实例的VPC终端节点”进行创建。

    选择VPC终端节点后,产生的费用将由VPCEP服务收取。

    LakeFormation委托

    现有委托

    选择“现有委托”,并选择创建对接LakeFormation权限的委托创建的委托,例如“visit_lakeformation_agency”。

    图3 新建LakeFormation数据连接

  4. 创建完成后,在“数据连接”页面记录已创建数据连接的ID。

获取账号ID信息

  1. 使用待配置MRS与LakeFormation对接的用户,登录管理控制台。
  2. 单击用户名,在下拉列表中单击“我的凭证”。
  3. 在“API凭证”页面获取“账号ID”、项目列表中查看项目ID。

  4. 为当前用户授权使用LakeFormation的权限。

    1. 在左上角单击“”,选择“大数据 > 湖仓构建 LakeFormation”。
    2. 查看是否弹出服务授权页面,或进入“服务授权”页面查看是否已授权。
      • 是,勾选“同意LakeFormation服务声明”,并单击“同意授权”,为当前服务授权。
      • 否,当前用户已有操作LakeFormation的权限。