文档首页/ MapReduce服务 MRS/ 用户指南/ 配置MRS集群存算分离/ 存算分离常见问题/ 用户的用户组和角色配置过多,导致请求IAM时请求体被截断
更新时间:2026-09-11 GMT+08:00
分享

用户的用户组和角色配置过多,导致请求IAM时请求体被截断

问题现象

用户的用户组和角色配置过多,会导致请求IAM时请求体被截断,发生如下报错:

原因分析

IAM的接口请求体policy参数字符个数超过限制,导致IAM时请求体被截断。

处理步骤

Guardian会遍历用户所有的用户组和角色,遍历过程中会跳过“token.server.manager.internal.roles”配置的角色和“token.server.manager.internal.groups”配置的用户组,然后再为剩下的用户组和角色添加#W和#R标签,用于构造IAM请求体中的policy参数。

发生如上报错有如下两种处理方式:

  • 方案一:减少该用户的用户组或角色。
    1. 登录MRS集群Manager界面,具体请参见访问MRS集群Manager
    2. 选择“系统 > 权限 > 用户”,单击待修改用户操作列的“修改”,根据需要删除用户组、角色。
    3. 修改完成后单击“确定”。
    4. 重新发送业务请求。
  • 方案二:修改Guardian配置,需要根据实际情况在默认值基础上,增加其他需要过滤的用户组或角色。
    1. 根据“GetSecurityKey requestBody is”关键字查找报错日志附近的IAM请求体,并在请求体中查看“obs:accesslabel”对应标签中包含的用户组和角色,排查是否有不需要参与OBS路径授权的用户组和角色,并记录。
    2. 登录MRS集群Manager界面,具体请参见访问MRS集群Manager
    3. 选择“集群 > 服务 > Guardian > 配置 > 全部配置 > 自定义”,在“token.server.config.expandor”中添加以下参数。
      表1 配置不参与OBS路径授权的用户组和角色

      参数名

      描述

      token.server.manager.internal.roles

      不参与OBS路径授权的MRS角色。

      • 默认值:Manager_administrator,Manager_auditor,Manager_operator,Manager_tenant,Manager_viewer,System_administrator,default,launcher-job
      • 参数值:将1中记录的角色在添加到默认值后。例如记录的角色为role1,则该参数的值配置为:

        Manager_administrator,Manager_auditor,Manager_operator,Manager_tenant,Manager_viewer,System_administrator,default,launcher-job,role1

      token.server.manager.internal.groups

      不参与OBS路径授权的MRS用户组。

      • 默认值:hadoop,hadoopmanager,hive,kmsadmin,ficommon,yarnviewgroup
      • 参数值:将1中记录的用户组在添加到默认值后。例如记录的用户组为group1,则该参数的值配置为:

        hadoop,hadoopmanager,hive,kmsadmin,ficommon,yarnviewgroup,group1

    4. 保存服务配置,并重启Guardian服务。
    5. 重新发送业务请求。

相关文档