You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Admin角色变更致API应用创建失败,求角色排查与回滚方案

问题分析与解决方案

1. 角色变更与错误的相关性

高度相关。你的错误日志显示订阅时仅允许使用Bronze Tier,而Admin用户原本拥有无限制的订阅权限(默认admin角色)。问题大概率出在你新增的角色上:

  • 该角色可能包含拒绝订阅Unlimited Tier的权限(WSO2中拒绝权限会优先于允许权限);
  • 或者该角色的订阅权限被限定为仅能使用Bronze Tier,覆盖了Admin原有超级权限的范围。

2. 查看Admin最近更新的角色

方法1:查看审计日志

打开WSO2 APIM安装目录下的<APIM_HOME>/repository/logs/audit.log,搜索包含USER_ROLE_UPDATE或USER_ROLE_ADD的日志条目,这些记录会显示:

  • 操作时间
  • 操作的用户(Admin)
  • 新增的角色名称

方法2:直接查询数据库

连接WSO2的用户数据库(默认是H2或MySQL),执行以下SQL查询Admin的角色及创建时间,按时间倒序排列即可找到最近新增的角色:

SELECT r.UM_ROLE_NAME, ur.UM_CREATED_DATE 
FROM UM_USER_ROLE ur 
JOIN UM_ROLE r ON ur.UM_ROLE_ID = r.UM_ROLE_ID 
JOIN UM_USER u ON ur.UM_USER_ID = u.UM_USER_ID 
WHERE u.UM_USER_NAME = 'admin' 
ORDER BY ur.UM_CREATED_DATE DESC;

方法3:使用SCIM API

调用WSO2的用户管理API获取Admin的角色列表(需先获取Admin的SCIM用户ID):

# 获取Admin用户ID
curl -k -u admin:admin https://<APIM_HOST>:9443/scim2/Users?filter=userName+eq+%22admin%22

# 根据用户ID获取角色列表
curl -k -u admin:admin https://<APIM_HOST>:9443/scim2/Users/<USER_ID>/roles

3. 回滚角色变更

方法1:Carbon控制台操作

  1. 登录Carbon控制台,进入Main > Identity > Users and Roles > List Users;
  2. 找到Admin用户,点击View Roles;
  3. 移除最近新增的角色,保存变更。

方法2:SCIM API回滚

使用SCIM API删除Admin用户的指定角色:

curl -k -u admin:admin -X DELETE https://<APIM_HOST>:9443/scim2/Users/<USER_ID>/roles/<ROLE_ID>

方法3:数据库回滚(需谨慎)

  1. 备份当前用户数据库;
  2. 执行SQL删除Admin与新增角色的关联记录:
DELETE FROM UM_USER_ROLE 
WHERE UM_USER_ID = (SELECT UM_USER_ID FROM UM_USER WHERE UM_USER_NAME = 'admin')
AND UM_ROLE_ID = (SELECT UM_ROLE_ID FROM UM_ROLE WHERE UM_ROLE_NAME = '<新增角色名>');

临时验证方案

移除新增角色后,重新执行创建应用的curl命令,若错误消失则确认问题根源;若仍报错,需检查目标API/API产品的订阅Tier限制设置,确认是否API本身被配置为仅允许Bronze Tier订阅。

内容的提问来源于stack exchange,提问作者Akash Mishra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:08:31