AWS IAM授权:如何让Dev账号通过AWS控制台查看指定服务资源?
解决Dev账号AWS控制台无法查看资源的问题
1. 补上遗漏的CloudWatch权限
你明确要求开放CloudWatch访问,但当前策略里完全没包含CloudWatch的操作权限,这是首要问题。需要在Action数组中添加:
"cloudwatch:*"
2. 添加控制台必需的辅助权限
AWS控制台的资源展示依赖不少跨服务的辅助权限,哪怕你给了服务全操作权限,没有这些权限控制台依然无法正常加载资源列表:
tag:GetResources:控制台跨服务拉取带标签的资源时需要这个权限,很多服务的资源列表页都会用到iam:ListRoles:Lambda、API Gateway等服务的控制台会加载可用IAM角色,用于配置资源关联iam:ListPolicies:部分服务控制台会展示关联的IAM策略信息sts:GetCallerIdentity:控制台验证当前账号身份的基础权限,缺失会导致页面加载异常
3. 修正后的完整策略
整合以上权限后的策略如下:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDevServicesFullAccess", "Effect": "Allow", "Action": [ "s3:*", "apigateway:*", "lambda:*", "dynamodb:*", "cognito-idp:*", "cloudwatch:*", "tag:GetResources", "iam:ListRoles", "iam:ListPolicies", "sts:GetCallerIdentity" ], "Resource": "*" } ] }
额外注意
如果个别服务控制台仍有加载问题,可针对性添加该服务的列表权限(比如lambda:ListFunctions),不过服务名:*已经包含了这类操作,一般不需要单独添加。另外要确认该策略已经正确绑定到Dev账号对应的IAM用户或用户组上。
内容的提问来源于stack exchange,提问作者Utopion
相关产品推荐
相关产品推荐

