如果您的账号权限不足,可能会导致无法正常使用媒体处理 MPS,这种情况在用户使用子账号时更易出现。本文将介绍常见的权限不足场景及对应解决方案。
场景一(必须完成):账号未开通 MPS 产品服务
如果您的账号没有开通过 MPS 产品服务,则无法正常使用 MPS。因此,在使用 MPS 控制台或调用 API 之前,您需要先开通 MPS 产品服务。此操作为必须完成的步骤。
解决方案
联系主账号负责人,登录主账号进入 MPS 控制台,单击免费开通服务。
如果子账号有 MPS 全读写权限(参考 场景二,关联 QcloudMPSFullAccess 预设策略即可),也可以由子账号直接开通 MPS。

场景二(必须完成):子账号没有 MPS 操作权限
如果主账号没有给子账号授权 MPS 的读写操作权限,则子账号无法正常使用 MPS。
此时,子账号访问 MPS 控制台,会弹出以下报错提示:

若子账号尝试调用 MPS 的 API,则会出现以下报错提示:

为解决这个问题,需要参考下方解决方案,给子账号授权 MPS 操作权限。此操作为必须完成的步骤。
解决方案
方案1:为子账号关联 QcloudMPSFullAccess 预设策略(推荐)
1. 联系主账号负责人,登录主账号。
2. 主账号进入 访问管理,在用户列表中找到需要使用 MPS 的子账号,单击授权。

3. 搜索“mps”,授予子账号 QcloudMPSFullAccess 预设策略权限。

方案2:为子账号关联自定义策略
说明:
目前 MPS 预设策略只有 QcloudMPSFullAccess,该全读写策略允许子账号访问 MPS 所有接口。如果出于高规格安全考虑,主账号希望限制子账号的接口权限,可以为其关联自定义策略。
1. 主账号进入 访问管理,在策略内,单击新建自定义策略。

2. 选择按策略生成器创建。

3. 选择媒体处理(mps)服务, 在操作(Action)中选取需要的 MPS 接口。一次支持选取多个操作。
注意:
使用 SDK 的客户必须选 RequestFromSdk 接口。

4. 在资源处选取全部资源,单击下一步。

5. 输入策略名称后,可以在“将此权限授权给用户”处直接为子账号关联策略,然后单击完成即可。

6. 回到策略页面可以看到所有自定义策略,后续可以单击策略名称对策略进行修改。

场景三(可选):没有授权 MPS 对您 COS 存储桶中的文件进行必要读写操作
目前媒体处理支持三种输入文件来源:腾讯云对象存储(COS)、AWS S3 和 URL 下载地址。
若您期望使用 COS 作为文件来源,需要先完成 COS 授权。创建 MPS_QcsRole 服务角色,允许媒体处理对您 COS 存储桶中的文件进行下载、转码和上传等读写操作。
若您期望使用 AWS S3 或 URL 作为文件来源,可以跳过 COS 授权。
如果您未完成 COS 授权情况下,直接调用 MPS 的 API 对您 COS 桶内的文件发起处理,则任务会失败。示例图如下:

解决方案
说明:
该授权操作无需开通 COS,也不会产生 COS 费用,只是允许 MPS 产品获取 COS 产品必要的 API 读写权限。


场景四(可选):子账号没有 cam:GetRole 权限
在完成上述三种场景的权限授权后,子账号登录 MPS 控制台时,也可能弹出如下报错提示:

这是因为 MPS 控制台前端会调用腾讯云访问管理(CAM)的 GetRole 接口,查询用户是否存在 MPS_QcsRole 的服务相关角色,前端会根据查询结果判断是否需要提供授权提示。如果子账号没有 cam:GetRole 权限,MPS 控制台前端将无法正常调用 GetRole 接口来查询角色,因此会出现弹窗报错提示。
说明:
GetRole 是 MPS 控制台的前端操作,子账号没有 cam:GetRole 权限只会影响其使用 MPS 控制台,不会影响其使用 API。使用控制台能更好地完成 MPS 操作及查看任务结果,因此建议您根据下述指引,授予子账号 cam:GetRole 权限。
解决方案
1. 联系主账号负责人,登录主账号。
2. 主账号进入 访问管理-策略 页面,单击新建自定义策略,选择按策略生成器创建来创建新自定义策略。
按红框所示,选择访问管理(CAM)服务、读操作-GetRole、全部资源,然后单击下一步。

3. 输入策略名称后,将此权限授权给需要使用 MPS 的子账号,再单击完成。
