如何使用IAM用户凭据承担IAM角色?
import boto3
sts_client = boto3.client(
'sts',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
)
)
sts_client.assume_role(RoleArn=some-role, RoleSessionName='boto3_client')由于某种原因,上面的代码产生:
An error occurred (InvalidClientTokenId) when calling the AssumeRole operation: The security token included in the request is invalid.我已经使用aws sts assume-role测试了aws_access_key_id和aws_secret_access_key,我确实可以使用命令行界面来承担这个角色。我做错了什么?
如果有什么不同的话,那就是IAM用户在AWS的中文分区中。
发布于 2021-11-12 15:36:53
设置AWS_DEFAULT_REGION (甚至不是AWS_REGION)环境变量可以修复它。
boto3文档中的任何地方都没有提到AWS_DEFAULT_REGION。可以使用region_name参数将区域传递给boto3.client()。奇数名称(aws_region可能是更一致的选择),文档中也没有提到这一点。我希望有一天这能帮助到某个人。
https://stackoverflow.com/questions/69944490
复制相似问题