运行AWS CLI的DeviceFarm相关命令所需的IAM角色权限策略是什么
问题复现
你在执行AWS DeviceFarm调度运行任务的CLI命令aws devicefarm schedule-run <options>时收到如下报错:
User: arn:
is not authorized to perform: devicefarm:ScheduleRun on resource: with an explicit deny
翻译后含义为:用户ARN为<user arn>的身份没有对资源<resource arn>执行devicefarm:ScheduleRun操作的权限,且该权限被显式拒绝。
解决方案
第一步:排查显式拒绝规则
AWS权限体系中显式拒绝优先级高于所有允许规则,添加权限前需先排查以下配置是否存在针对devicefarm:ScheduleRun的拒绝规则:
- 该身份(用户/角色)直接附加的自定义策略、托管策略
- 该用户所属用户组附加的所有策略
- 该角色配置的权限边界规则
- 所属AWS组织配置的服务控制策略(SCP)
第二步:添加对应允许策略
清理所有显式拒绝规则后,为对应身份附加如下最小权限策略即可:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "devicefarm:ScheduleRun", "Resource": "<对应DeviceFarm资源的ARN,可填写*匹配所有DeviceFarm资源>" } ] }
如果需要同时支持查询DeviceFarm项目、查询运行结果等操作,可在Action数组中补充以下常用权限:
devicefarm:ListProjectsdevicefarm:GetProjectdevicefarm:GetRundevicefarm:ListRuns
内容的提问来源于stack exchange,提问作者pnizzle
相关产品推荐
相关产品推荐

