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同步
- 登录MRS管理控制台。
- 选择“现有集群”,选中一个运行中的集群并单击集群名称,进入集群信息页面。
- 在“概览”页签,单击“IAM用户同步”右侧的“同步”。
- 在“IAM用户同步”页面,选择“已同步”,查看右侧已同步用户列表,是否存在同步用户。
- 是,执行集群解耦te_admin依赖。
- 否,执行新增MRS服务委托。
集群解耦te_admin依赖

- 执行前,确保重启期间1分钟内无作业通过MRS管理面的作业API进行提交(即通过mrs.{region_id}.myhuaweicloud.com域名提交的作业)。
- 确认集群当前状态是否是“运行中”,如果非“运行中”的异常状态,则不进行整改。
- 使用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
- 修改集群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;
命令进行对比,如果有显示如下,则说明修改成功
- 重启该节点knox。
cd /opt/knox/bin;
sh restart-knox.sh;
- 重启后,执行命令ps -ef | grep knox确认进程是否存在,以及netstat -nltp| grep 9022确认端口是否启动。
- 登录MRS管理控制台。
- 观察集群页面、作业管理等功能是否受影响。 管理面运维观察是否有”集群异常”、”心跳任务失败”等告警。如果发现异常则按照回退操作回退并重启进程。
- 登录Master2节点,执行ps -ef | grep knox命令确认knox进程是否存在。
新增MRS服务委托

操作的账号,需要至少包含如下的IAM委托增删权限和授权、解除授权权限,或者包含Security Administrator系统角色。
"iam:permissions:grantRoleToAgencyOnProject",
"iam:agencies:createAgency",
"iam:permissions:revokeRoleFromAgencyOnProject",
"iam:agencies:deleteAgency"
- 登录MRS管理控制台。
- 选择“服务授权 > 变更权限委托”。
- 勾选mrs_service_agency、MRS Cluster Deployment Agency Access以及mrs_cluster_agency,单击“授权”。
- 登录IAM管理控制台。
- 查看是否生成mrs_service_agency和mrs_cluster_agency委托,以及正确授权。
- 观察MRS集群列表页该集群是否显示“集群正常”。进入MRS集群查看作业查询、作业管理界面是否正常。
如果发现相关异常,参考回退操作进行回退。
取消旧委托授权
使用新委托后,MRS服务会自动切换使用新委托。当所有区域的新委托都生效且验证正常,mrs_admin_agency委托才可以取消授权或者删除,请用户自行选择是否删除旧委托。
- 登录MRS管理控制台。
- 选择“服务授权 > 变更权限委托”,将Tenant Administrator勾选取消,单击“授权”,即可取消此局点上对MRS服务的租户管理员权限授权。
- 登录IAM管理控制台。
- 查看mrs_admin_agency委托中是否已取消Tenant Administrator授权。
- 观察MRS集群状态是否正常、观察集群任务运行状态、新提交任务运行状态是否正常。
如果发现相关异常,参考回退操作进行回退。