AWS Workspaces IAM用户配置权限后无法访问控制台故障排查
故障原因
- 最常见的原因是缺失Workspaces服务的隐含控制台必备权限:除了基础的
workspaces:DescribeWorkspaces外,AWS控制台加载Workspaces列表时,默认会同时调用workspaces:DescribeWorkspaceBundles、workspaces:DescribeWorkspaceDirectories、workspaces:DescribeTags三个接口,很多自定义策略只配置了Workspaces的核心查询权限,漏了这三个接口的允许规则,这个报错对应的就是上述某一个接口返回AccessDenied,排查CloudTrail时需要过滤所有Event Source为workspaces.amazonaws.com、ds.amazonaws.com、kms.amazonaws.com的拒绝事件,不要仅过滤Workspaces的主接口。 - 资源匹配规则限制:如果你的IAM策略中Workspaces、KMS、Directory Service相关操作的Resource字段没有配置为
*,而是指定了具体资源ARN,控制台全局查询操作会因为资源不匹配被拒绝,哪怕你有对应操作的权限。 - KMS权限缺失:仅配置KMS的列出权限不够,还需要针对加密Workspaces卷的自定义KMS密钥授予
kms:DescribeKey、kms:ListAliases权限,如果你使用的是AWS托管KMS密钥,也需要授予对应密钥的读取权限。 - 权限边界/会话策略限制:如果该IAM用户附加了权限边界,或者使用STS临时令牌访问控制台,对应的权限边界/会话策略中没有开放上述相关操作权限,也会导致权限被拦截。
解决方案
- 替换你的Workspaces自定义权限策略为以下最小权限配置,确保覆盖所有控制台必备接口:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:Describe*", "workspaces:StartWorkspaces", "workspaces:StopWorkspaces" ], "Resource": "*" } ] }
- 补充Directory Service的最小必备权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ds:DescribeDirectories", "Resource": "*" } ] }
- 补充KMS的最小必备权限,
<KMS密钥ARN>替换为你用于加密Workspaces的KMS密钥ARN,如果用的是AWS托管密钥直接填*即可:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ListAliases" ], "Resource": "<KMS密钥ARN>" } ] }
- 额外排查项:检查该IAM用户是否附加了权限边界,或者所在用户组的策略中是否有Deny上述操作的规则,确保没有更高优先级的拒绝策略拦截权限请求。
内容的提问来源于stack exchange,提问作者vishal
相关产品推荐
相关产品推荐

