AWS Bedrock Python SDK调用sts:AssumeRole遇权限拒绝问题求助
问题诊断与解决步骤
1. 先处理AWS_PROFILE报错问题(推荐本地开发使用)
你遇到的ProfileNotFound是因为本地AWS配置文件(~/.aws/config或~/.aws/credentials)中没有对应名称的配置项。解决方式:
- 终端执行
aws configure --profile <自定义profile名>,按提示输入真实的Access Key、Secret Key、区域(us-east-1)等信息 - 或手动编辑
~/.aws/credentials文件添加:
[<自定义profile名>] aws_access_key_id = 你的真实AK aws_secret_access_key = 你的真实SK
同时编辑~/.aws/config文件添加:
[profile <自定义profile名>] region = us-east-1 output = json
如果不想用profile,也可以直接使用IAM角色(云环境)或正确的环境变量(不推荐硬编码),但本地开发优先推荐profile方式。
2. 修复IAM角色的信任关系与权限问题
当前核心错误是IAM用户无权限Assume目标角色,同时角色的受信实体配置错误:
步骤1:修正ChaterRole的信任策略
你将角色受信实体设为chatbot,但实际是让IAM用户来Assume该角色,需修改信任关系:
- 进入AWS控制台→IAM→角色→找到
ChaterRole→信任关系→编辑信任策略 - 替换为以下内容(替换账号ID和IAM用户名为你的真实信息):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::028367088114:user/UserBedRock" }, "Action": "sts:AssumeRole" } ] }
步骤2:给IAM用户添加AssumeRole权限
为UserBedRock用户添加允许AssumeChaterRole的权限:
- 进入IAM→用户→找到
UserBedRock→权限→添加权限→创建内联策略 - 选择JSON模式,输入以下策略(替换角色ARN为你的真实ARN):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::028367088114:role/ChaterRole" } ] }
- 命名策略(如
AllowAssumeBedRockRole)并保存
步骤3:给ChaterRole添加Bedrock操作权限
确保角色本身具备调用Bedrock的权限:
- 回到
ChaterRole的权限页面→添加权限→附加策略→搜索并附加AmazonBedrockFullAccess(测试用,生产环境建议配置最小权限)
3. 代码调整注意事项
- 删除你添加的假凭证环境变量(
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY),改用profile或正确的本地凭证 - 取消注释
os.environ["AWS_PROFILE"] = "<你的profile名>",确保本地已配置该profile - 确认
BEDROCK_ASSUME_ROLE的ARN账号ID统一(你代码中写的是028367089014,错误提示中是028367088114,需修正为真实账号ID)
4. 测试角色Assume有效性
先运行以下代码验证是否能成功获取临时凭证:
import boto3 import os os.environ["AWS_PROFILE"] = "<你的profile名>" os.environ["AWS_DEFAULT_REGION"] = "us-east-1" sts_client = boto3.client('sts') response = sts_client.assume_role( RoleArn='arn:aws:iam::028367088114:role/ChaterRole', RoleSessionName='BedRockSession' ) print("Assume角色成功,临时凭证:") print(f"AccessKey: {response['Credentials']['AccessKeyId']}")
如果此代码执行成功,再运行Bedrock调用代码即可正常工作。
内容的提问来源于stack exchange,提问作者ailauli69
相关产品推荐
相关产品推荐

