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

Amazon Bedrock身份池访客调用模型遇403权限拒绝,认证用户正常

解决Identity Pool访客身份无法调用Amazon Bedrock的问题

AWS不存在禁止Identity Pool访客访问Bedrock的全局策略,问题大概率出在身份池未认证角色的会话策略或权限边界限制上,以下是具体排查和解决步骤:

  • 检查身份池未认证角色的会话策略
    身份池为未认证用户生成临时凭证时,可能会自动应用会话策略,进一步缩小角色权限范围。即使你给角色附加了Bedrock Full Access,会话策略也可能拦截bedrock:InvokeModel操作。
    操作:进入Cognito身份池控制台,选中目标身份池,进入「未认证身份」的角色设置页面,确认是否存在额外的会话策略配置。

  • 模拟临时凭证的实际权限
    用访客身份获取临时凭证后,执行以下命令验证实际权限(替换对应的资源ARN和临时凭证信息):

    aws bedrock invoke-model --model-id anthropic.claude-3-haiku-20240307-v1:0 --body '{"prompt":"Hello","max_tokens_to_sample":100}' --region us-east-1
    

    或者用IAM模拟命令精准验证:

    aws iam simulate-principal-policy --policy-source-arn "临时凭证的ARN" --action-names "bedrock:InvokeModel" --resource-arns "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-haiku-20240307-v1:0"
    

    该结果会准确反映临时凭证的有效权限,比通用政策模拟器更可靠。

  • 检查角色的权限边界
    登录IAM控制台,找到身份池对应的未认证角色,查看「权限边界」标签页。如果设置了权限边界,即使角色附加了全量权限,也会被边界限制,需要确保边界策略包含bedrock:InvokeModel操作。

  • 验证角色的信任策略
    确认未认证角色的信任策略允许Cognito身份池的未认证身份扮演该角色,信任策略应包含以下规则(替换你的身份池ID):

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Federated": "cognito-identity.amazonaws.com"
          },
          "Action": "sts:AssumeRoleWithWebIdentity",
          "Condition": {
            "StringEquals": {
              "cognito-identity.amazonaws.com:aud": "你的身份池ID"
            },
            "ForAnyValue:StringLike": {
              "cognito-identity.amazonaws.com:amr": "unauthenticated"
            }
          }
        }
      ]
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 17:06:15