You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS IAM Roles Anywhere临时凭证访问S3桶被拒,如何修正?

问题分析与解决方案

核心问题:Principal值错误

你当前用的临时会话ARN(arn:aws:sts::123456789012:assumed-role/MGMT-AWSAnywhere-Role/YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY)是动态生成的——每次通过Roles Anywhere获取临时凭证,后面的会话ID(YYYY部分)都会变化,把它写死在桶策略里必然会导致权限不匹配。

正确的Principal值

应该使用角色本身的ARN,而非临时会话的ARN。角色ARN是固定值,格式如下:

arn:aws:iam::123456789012:role/MGMT-AWSAnywhere-Role

只要是通过Roles Anywhere成功扮演该角色的实体,都会匹配这个Principal。

修复后的桶策略示例

注意你原策略存在语法错误:"Sid": "AllowAccess"末尾缺少逗号,会导致策略无法生效。修复后的完整策略如下:

{
  "Sid": "AllowAccess",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::123456789012:role/MGMT-AWSAnywhere-Role"
  },
  "Action": [
    "s3:GetObject",
    "s3:ListBucket",
    "s3:List*"
  ],
  "Resource": [
    "arn:aws:s3:::my-bucket",
    "arn:aws:s3:::my-bucket/*"
  ]
}

额外检查点

  • 确认MGMT-AWSAnywhere-Role的信任策略允许Roles Anywhere的相关实体(比如你的证书、信任锚)扮演该角色
  • 验证临时凭证权限:可通过aws sts get-caller-identity --profile myprofile确认身份,再用aws iam simulate-principal-policy模拟权限是否允许目标S3操作

内容的提问来源于stack exchange,提问作者dzieciou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:36:04