答雨落秋垣
根据您的描述,使用tms.v20201229调用腾讯云内容安全(TMS)的TextModeration接口时返回AuthFailure.UnauthorizedOperation错误,而切换至tms.v20200713版本则正常。结合搜索结果,该问题可能由以下原因及解决方案导致:
一、原因分析
API版本权限差异
腾讯云不同版本的API可能对应不同的授权策略。tms.v20201229版本可能引入了新的鉴权规则或细粒度权限控制,而您的账号未配置对应权限。
例如,v20201229版本可能要求额外的CAM(访问管理)策略授权(如tms:TextModeration),而旧版本v20200713未强制校验。
密钥或签名兼容性问题
新版本API可能对签名算法(如HMAC-SHA256)或请求头字段(如Authorization)有更严格的要求,旧版密钥或签名方式不兼容。
服务端配置未同步
腾讯云可能未在所有区域完全部署v20201229版本的鉴权逻辑,导致部分区域请求失败。
二、解决方案
1. 检查并更新CAM权限
步骤:
登录腾讯云控制台,进入「访问管理(CAM)」页面。
检查当前子账号或角色的权限策略是否包含tms:TextModeration或相关操作授权(参考中的TMS授权项列表)。
若未配置,需附加以下策略(示例): { "Version": "2.0", "Statement": [ { "Action": "tms:TextModeration", "Effect": "Allow", "Resource": "*" } ] }
注意:若使用企业项目,需确认策略支持企业项目(参考)。
2. 验证密钥与签名
确保密钥有效:检查SecretId和SecretKey是否未过期或被禁用。
核对签名方法:
使用腾讯云SDK自动生成签名(推荐)。
若手动计算签名,严格遵循官方文档的v20201229版本要求。
3. 切换地域或API版本
临时方案:继续使用tms.v20200713版本(但需注意未来可能停用)。
地域测试:尝试在其他地域(如北京、上海)调用v20201229,确认是否为区域部署问题。
4. 联系技术支持
若上述步骤无效,提供以下信息提交工单:
请求的完整API版本、地域、错误码及时间戳。
账号UID和CAM策略配置截图。
三、总结
当前问题最可能源于**v20201229版本的权限策略升级**。优先检查CAM权限并更新策略,其次验证密钥与签名兼容性。若需快速恢复服务,可暂用v20200713版本,但建议尽快适配新版API以确保长期稳定性。