对于sts使用问题,可以参考以下代码示例进行解决:
import boto3 from botocore.exceptions import ClientError
sts_client = boto3.client('sts')
try: assumed_role_object = sts_client.assume_role( RoleArn="arn:aws:iam::123456789012:role/MyRoleName", RoleSessionName="AssumeRoleSession1" ) except ClientError as e: print(e.response['Error']['Message']) else: credentials = assumed_role_object['Credentials']
# 通过获取的临时凭证操作其他服务
s3_resource = boto3.resource(
's3',
aws_access_key_id=credentials['AccessKeyId'],
aws_secret_access_key=credentials['SecretAccessKey'],
aws_session_token=credentials['SessionToken']
)
for bucket in s3_resource.buckets.all():
print(bucket.name)