跨账户数据共享需要明确跨账户策略、身份验证、角色和访问权限,并需要在不同AWS账户之间设置数据共享,并在查询时使用正确的访问凭证和IAM角色。下面是一个基本的Python代码示例,用于从另一个AWS账户跨账户查询S3中的数据:
import boto3
# create a session using Temporary security credentials
sts = boto3.client('sts')
assumed_role_object = sts.assume_role(RoleArn='<>', RoleSessionName='')
# The variables you need to pass to STS API requests
aws_access_key_id = assumed_role_object['Credentials']['AccessKeyId']
aws_secret_access_key = assumed_role_object['Credentials']['SecretAccessKey']
aws_session_token = assumed_role_object['Credentials']['SessionToken']
# Use a session context to pass security credentials
session = boto3.Session(aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, aws_session_token=aws_session_token)
s3 = session.resource('s3')
bucket = s3.Bucket('<>')
for obj in bucket.objects.all():
print(obj.key)
其中RoleArn是跨账户IAM角色的ARN。替换<和<以匹配你的环境。这将为您提供Bucket的所有对象列表。
上一篇:AWS跨账户S3存储桶策略问题
下一篇:AWS跨账户委派角色不被允许。