更新时间:2025-08-20 GMT+08:00

配置Guardian服务不启用Ranger OBS路径鉴权

操作场景

该章节指导用户开启集群未启用Kerberos认证(普通模式)Guardian组件存算分离操作,且不支持通过Ranger配置组件关于OBS相关路径的权限策略(即关闭使用Guardian对接OBS的AccessLabel,OBS侧无需关注是否启用AccessLabel功能)。配置后Guardian可以在存算分离场景下为HDFS、Hive、Spark、Loader、HetuEngine等服务提供访问OBS的临时认证凭据。

配置Guardian服务对接OBS主要操作如下:

  1. 创建OBS并行文件系统
  2. 创建云服务委托并绑定集群
  3. 为Guardian组件配置访问OBS权限
  4. 配置回收站清理策略

前提条件

  • 集群已安装Guardian、Ranger、Hadoop等组件。
  • 如果安装Hadoop、HetuEngine、Hive、Spark等组件后,再安装Guardian,则需要重新下载客户端,并对管理面作业提交的默认客户端进行刷新。

对系统的影响

配置完该章节操作后,原始的客户端需要重新刷新配置,或重新安装客户端。

创建OBS并行文件系统

  1. 登录OBS控制台。
  2. 选择“并行文件系统 > 创建并行文件系统”。
  3. 填写文件系统名称,例如“guardian-obs”。

    企业项目需要与MRS集群保持一致,其他参数请根据需要填写。

  4. 单击“立即创建”。

创建云服务委托并绑定集群

  • MRS在IAM的委托列表中预置了MRS_ECS_DEFAULT_AGENCY委托,可在集群创建过程中选择该委托,该委托拥有对象存储服务的OBS OperateAccess权限和在集群所在区域拥有CES FullAccess(对开启细粒度策略的用户)、CES Administrator和KMS Administrator权限。同时请勿在IAM修改MRS_ECS_DEFAULT_AGENCY委托。
  • 如需使用预置的委托,请跳过创建委托步骤。如需使用自定义委托,请参考如下步骤进行创建委托(创建或修改委托需要用户具有Security Administrator权限)。如果还需对OBS文件系统中的指定路径进行更加细粒度的权限控制,可参考配置MRS集群用户的OBS的细粒度访问权限创建自定义的角色策略。
  1. 登录华为云管理控制台。
  2. 在服务列表中选择“管理与监管 > 统一身份认证服务 IAM”。
  3. 选择“委托 > 创建委托”。
  4. 在创建委托页面配置以下参数,并单击“完成”:
    • 委托名称:设置委托名称,例如:mrs_ecs_obs。
    • 委托类型:选择“云服务”。
    • 云服务:选择“弹性云服务器ECS 裸金属服务器BMS”。
    • 持续时间:选择“永久”。
  5. 在授权的确认弹窗中,单击“立即授权”,在弹出的授权页面,单击“新建策略”。
    在新建策略界面配置以下参数并单击“下一步”:
    • 策略名称:自定义策略名称,例如“guardian-policy”。
    • 策略配置方式:选择“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",
      		        "obs:bucket:ListAllMyBuckets"
                  ],
                  "Resource": [
                      "OBS:*:*:bucket:guardian-obs",
                      "OBS:*:*:bucket:guardian-obs2",
                      "OBS:*:*:object:*"
                  ]
              }
          ]
      }

      上述的“Resource”配置表示可访问配置的并行文件系统系统的所有资源,guardian-obs创建OBS并行文件系统创建的OBS并行文件系统名称。

  6. 单击“下一步”,在“选择策略”页面勾选5创建的策略名称。
  7. 单击“下一步”,在“选择授权范围”中勾选“全局服务资源”,单击“确定”。
  8. 在弹出的提示框中单击“知道了”,开始授权。界面提示“授权成功。”,单击“完成”,委托成功创建。
  9. 登录MRS控制台,在导航栏选择“现有集群”。
  10. 单击集群名称,进入集群详情页面。
  11. 在集群详情页的“概览”页签,单击“IAM用户同步”右侧的“同步”进行IAM用户同步。
  12. 在集群详情页的“概览”页签,单击委托右侧的“选择委托”选择创建的委托名称,例如“mrs_ecs_obs”,单击“确定”进行绑定。
    图1 绑定委托

为Guardian组件配置访问OBS权限

  1. 登录MRS集群Manager界面,具体请参见访问MRS集群Manager,选择“集群 > 服务 > Guardian > 配置 > 全部配置”搜索并修改以下参数。

    参数

    含义

    取值示例

    fs.obs.guardian.accesslabel.enabled

    是否开启使用Guardian对接OBS的access label。

    • true:对接OBS后,可通过Ranger配置组件关于OBS相关路径的权限策略,需确保OBS服务已开启AccessLabel功能,如果未开启,需手动开启,详细操作请联系OBS服务运维人员。
    • false:对接OBS后,不能通过Ranger配置组件关于OBS相关路径的权限策略,无需关注OBS服务是否开启AccessLabel功能。

    该参数值需设置为“false”。

    false

    fs.obs.guardian.enabled

    是否开启使用Guardian。

    • true:开启使用Guardian。
    • false:默认值,不使用Guardian。

    true

    fs.obs.delegation.token.providers

    delegation token生成器,当“fs.obs.guardian.enabled”参数值为“true”时,需要同时配置com.huawei.mrs.dt.MRSDelegationTokenProvider和com.huawei.mrs.dt.GuardianDTProvider。

    com.huawei.mrs.dt.MRSDelegationTokenProvider和com.huawei.mrs.dt.GuardianDTProvider

  2. 单击“保存”保存服务配置,然后在FusionInsight Manager主页中选择“更多 > 重启配置过期的实例”,根据界面提示重启所有配置过期的服务实例。
  3. 如果需要通过MRS管理控制台提交作业,使用omm用户登录主OMS节点,执行以下命令刷新内置客户端配置:
    sh /opt/executor/bin/refresh-client-config.sh
  4. (可选)如果安装了集群其他组件的客户端,则需更新相关客户端配置,具体操作请参见更新客户端配置

配置回收站清理策略

  1. 登录OBS管理控制台
  2. 选择“并行文件系统”,单击创建OBS并行文件系统的文件系统名称。
  3. 选择“数据管理 > 生命周期规则”,单击“创建”,创建“/user/.Trash”目录的生命周期规则。

    配置集群使用存算分离方案后,必须配置相关目录的生命周期策略,否则会有存储空间被占满以及增加存储资源费用的风险,关于OBS更多计费说明请参考OBS计费概述

    表1 生命周期规则创建参数

    参数名称

    描述

    示例

    状态

    是否启用本条生命周期规则。

    启用

    规则名称

    规则名称,可自定义,用于识别不同的生命周期配置。

    rule-test

    前缀

    生命周期规则适用的对象前缀,MRS集群组件数据回收站目录为“/user/.Trash”。

    user/.Trash

    转换为低频访问存储天数

    指定在对象最后一次更新后多少天,受规则影响的对象将转换为低频访问存储。至少设置为30天。

    30天

    转换为归档存储天数

    指定在对象最后一次更新后多少天,受规则影响的对象将转换为归档存储。若同时设置转换为低频访问存储和转换为归档存储,则转换为归档存储的时间要比转换为低频访问存储的时间至少长30天。若单独设置转换为归档存储,则没有时间限制。

    31天

    文件过期删除天数

    指定在对象最后一次更新后多少天,受规则影响的对象将过期并自动被OBS删除。过期时间必须大于前两个转换时间的最大值。

    32天

    碎片过期规则设置

    受规则影响的碎片将过期并自动被OBS删除。

    30天

  4. 单击“确定”,完成生命周期规则配置。

    若您需修改生命周期的内容,请单击该生命周期规则所在行右侧的“编辑”进行编辑;单击“禁用”,可以禁用该生命周期规则。单击“启用”,可启用该生命周期规则。