授权不生效,如何排查?
授权后子账号仍然无法访问或提示无权限时,建议按以下顺序逐项排查:
1. 确认策略已关联到正确的子账号。
2. 确认使用的是终端性能监控 Pro 自己的预设策略。
终端性能监控 Pro 的预设策略为
QcloudFullAccessForRumPro、QcloudRegularUserAccessForRumPro。请在 CAM 控制台确认关联的是其中一条。3. 确认
action 前缀正确。终端性能监控 Pro 的操作前缀为
rum:,例如 rum:DescribeIssuesList、rum:*。若误写成其他产品前缀(如 apm:),策略不会生效。4. 确认接口的授权粒度与
resource 写法匹配。终端性能监控 Pro 为操作级授权,
resource 必须填写 *。若在策略中对接口限定了具体资源,CAM 会判定该接口不在授权范围内,直接视为无权限。5. 确认资源写法正确。
resource 统一填写 *。常见错误包括写成 qcs::rum::uin/<UIN>:appid/<APPID> 等资源六段式、把 APPID 当成主账号 UIN、或为接口指定了并不支持的资源维度。6. 确认是否被显式拒绝(deny)。
deny 的优先级高于 allow。若子账号同时关联了包含 deny 语句的策略,即使其他策略授予了权限,对应操作也会被拒绝。请检查该子账号关联的全部策略。7. 确认是否缺少前置依赖权限。
部分功能依赖其他云产品(如日志服务、标签、云监控、COS 等)。只授予
rum 产品策略时,相关依赖功能可能仍不可用,需要一并授予对应产品的权限。8. 查看报错信息与 RequestId。
若控制台或云 API 返回
AuthFailure.UnauthorizedOperation、UnauthorizedOperation 等错误,可结合返回的 RequestId 提交工单,由后台确认具体的拦截原因。子账号登录控制台后看不到任何数据?
默认情况下子账号没有任何权限,需要主账号先为其授予预设策略或自定义策略。请参考 策略授予。若已授权仍不可见,请排查自定义策略的
action 是否覆盖了页面实际调用的接口,以及 resource 是否为 *。子账号只需要看数据,应该授哪个策略?
终端性能监控 Pro 没有只读预设策略:
QcloudFullAccessForRumPro 为全读写,QcloudRegularUserAccessForRumPro 虽定位为普通用户,仍包含创建告警策略、删除符号表、删除标签等写操作,不能用于纯只读场景。如需纯只读权限,请创建自定义策略,使用 CAM 官方的只读条件键
qcs:read_only_action:{"version": "2.0","statement": [{"effect": "allow","action": ["rum:*"],"resource": ["*"],"condition": {"numeric_equal": {"qcs:read_only_action": 1}}}]}
若需要更细的只读范围,可在 CAM 控制台的策略编辑器中挑选具体接口逐个列入
action。不要使用 rum:Describe*,原因见下一条。用 rum:Describe* 做只读授权可以吗?
不建议。
Describe* 通配与 CAM 的读写分类并不一致:会漏授:读类接口中有相当数量不以
Describe 开头,例如 Get*、Query*、Check*、Export*、Parse*、Select* 前缀的接口。会误授:部分写操作不以
Create/Delete/Update 开头,例如 SetStrategyStatus、SendDailySingleMailReport、NotifyUploadResult。为什么策略里指定了应用或业务系统 ID 却不生效?
终端性能监控 Pro 的接口全部为操作级,不支持对特定资源授权。若策略中限定了具体资源,CAM 会判定该接口不在授权范围内,视为无权限。请将该接口对应的
resource 改为 *。能否让子账号只看到自己负责的应用?
当前不支持。终端性能监控 Pro 的接口为操作级,无法按应用或业务系统维度隔离权限,子账号一旦获得某个查询接口的权限,即可查询该主账号下的全部对应数据。若有强隔离需求,建议按业务线拆分主账号。
策略中的 deny 为什么不生效?
deny 仅对同一 resource 范围内的操作生效。若 deny 语句中限定了具体资源,而实际访问的资源不在该范围内,deny 不会命中;反之,若在操作级接口上使用了资源限定,也可能因接口不支持资源级授权而导致语句整体不生效。建议先用 * 验证 deny 是否生效,再逐步加上资源限定。可以限制子账号只能从指定 IP 访问吗?
IP 限制为“部分支持”能力,绝大多数接口支持,个别接口不支持(可在 支持 CAM 的业务接口 的“IP 限制”列查看)。写法可参考 CAM 的 条件键和条件运算符 中
qcs:ip 与 ip_equal 的说明。预设策略更新后,需要重新关联吗?
子账号可以把权限再授予其他账号吗?
不会自动获得。子账号只有在被授予了 CAM 管理类权限(例如
QcloudCamFullAccess)后,才能进行策略创建与授权操作。授予 CAM 管理权限等于放开整个账号的权限管理能力,请谨慎操作。