更新时间:2025-08-25 GMT+08:00
分享

MRS最小化委托权限整改

问题现象

当前MRS集群(MRS 3.3.1-LTS及之后版本)已支持配置最小化权限的MRS服务委托,而存量的MRS集群(MRS 3.3.0-LTS及之前版本)用户服务委托均为Tenant Administrator授权,权限较大,需要进行最小化委托权限整改。

集群如果不依赖IAM同步则无需整改。

参与该变更的用户,如果完成了完整的集群整改后进行委托权限变更, 功能上不会有任何影响。

如果集群不整改,可能带来的影响:

  • IAM同步查询和更新接口在委托变更后会存在不可用的风险。
  • IAM同步状态查询失败,仅影响华为云控制台上的“组件管理”和“租户管理”,可在Manager页面里进行替代操作。不影响之前已同步用户的作业提交等功能, 也不影响通过MRS组件客户端提交的作业。

整改期间可能带来的影响:

  • 进程重启会耗时预计1min内。进程重启期间Manager页面可能存在无法访问,重启完成后自动恢复。
  • 重启期间确保管控面或者API也不能存在正在运行的作业,而且不能通过管控面或者API提交新作业。

检查集群是否开启IAM同步

  1. 登录MRS管理控制台
  2. 选择“现有集群”,选中一个运行中的集群并单击集群名称,进入集群信息页面。
  3. 在“概览”页签,单击“IAM用户同步”右侧的“同步”。
  4. 在“IAM用户同步”页面,选择“已同步”,查看右侧已同步用户列表,是否存在同步用户。

集群解耦te_admin依赖

  • 执行前,确保重启期间1分钟内无作业通过MRS管理面的作业API进行提交(即通过mrs.{region_id}.myhuaweicloud.com域名提交的作业)。
  • 确认集群当前状态是否是“运行中”,如果非“运行中”的异常状态,则不进行整改。
  1. 使用root用户登录集群Master1节点,备份“/opt/knox/conf/topologies/sandbox.xml”文件复制到备份目录下。

    例如,备份目录为“/home/omm/knox_sandbox.xml_bak”,则执行如下命令:

    cp /opt/knox/conf/topologies/sandbox.xml /home/omm/knox_sandbox.xml_bak

  2. 修改集群knox的角色校验配置,避免对te_admin角色的强校验需求。

    su - omm

    sed -i '/required_token_roles.*te_admin/d' "/opt/knox/conf/topologies/sandbox.xml"

    diff /home/omm/knox_sandbox.xml_bak /opt/knox/conf/topologies/sandbox.xml;

    命令进行对比,如果有显示如下,则说明修改成功

  3. 重启该节点knox。

    cd /opt/knox/bin;

    sh restart-knox.sh;

  4. 重启后,执行命令ps -ef | grep knox确认进程是否存在,以及netstat -nltp| grep 9022确认端口是否启动。

  5. 登录MRS管理控制台
  6. 观察集群页面、作业管理等功能是否受影响。 管理面运维观察是否有”集群异常”、”心跳任务失败”等告警。如果发现异常则按照回退操作回退并重启进程。
  7. 登录Master2节点,执行ps -ef | grep knox命令确认knox进程是否存在。

新增MRS服务委托

操作的账号,需要至少包含如下的IAM委托增删权限和授权、解除授权权限,或者包含Security Administrator系统角色。

"iam:permissions:grantRoleToAgencyOnProject",

"iam:agencies:createAgency",

"iam:permissions:revokeRoleFromAgencyOnProject",

"iam:agencies:deleteAgency"

  1. 登录MRS管理控制台
  2. 选择“服务授权 > 变更权限委托”。
  3. 勾选mrs_service_agency、MRS Cluster Deployment Agency Access以及mrs_cluster_agency,单击“授权”。

  4. 登录IAM管理控制台
  5. 查看是否生成mrs_service_agency和mrs_cluster_agency委托,以及正确授权。
  1. 观察MRS集群列表页该集群是否显示“集群正常”。进入MRS集群查看作业查询、作业管理界面是否正常。

    如果发现相关异常,参考回退操作进行回退。

取消旧委托授权

使用新委托后,MRS服务会自动切换使用新委托。当所有区域的新委托都生效且验证正常,mrs_admin_agency委托才可以取消授权或者删除,请用户自行选择是否删除旧委托。

  1. 登录MRS管理控制台
  2. 选择“服务授权 > 变更权限委托”,将Tenant Administrator勾选取消,单击“授权”,即可取消此局点上对MRS服务的租户管理员权限授权。

  3. 登录IAM管理控制台
  4. 查看mrs_admin_agency委托中是否已取消Tenant Administrator授权。
  1. 观察MRS集群状态是否正常、观察集群任务运行状态、新提交任务运行状态是否正常。

    如果发现相关异常,参考回退操作进行回退。

回退操作

  1. 如果修改集群knox配置出问题,则将备份的“/opt/knox/conf/topologies/sandbox.xml”配置文件改回,执行如下命令:

    cp 备份文件路径 /opt/knox/conf/topologies/

    cd /opt/knox/bin

    su - omm

    sh restart-knox.sh

  2. 通过授权页面,重新添加mrs_admin_agency委托和Tenant Administrator授权, 将mrs_service_agency委托删除和取消授权。
  3. 回退完验证。

    观察集群状态是否正常、有误异常告警、观察集群任务运行状态、新提交任务运行状态是否正常

相关文档