gpt4 book ai didi

amazon-web-services - 使用 boto3 访问其他 aws 用户 s3 存储桶

转载 作者:行者123 更新时间:2023-12-05 08:41:50 25 4
gpt4 key购买 nike

我正在制作一个 Django 网络应用程序,它可以列出用户 s3 存储桶,还允许我访问 s3 存储桶中的其他用户文件。有什么方法可以使用 boto3 访问其他用户帐户,例如一些临时凭据?

最佳答案

boto3 有 assume_role返回角色临时凭据的方法。

为了使其正常工作,您正在访问的账户必须有一个角色,其政策允许访问 S3 存储桶,并且该角色本身必须与您调用的账户有信任关系。

此外,运行您的 Django 应用程序的实例应该具有允许 AssumeRole 的实例角色许可。

代码看起来像

import boto3

sts = boto3.client('sts')
response = sts.assume_role(
RoleArn='aws:arn:iam::OTHERACCOUNTID:role/role-that-allows-s3-access',
RoleSessionName='my-random-session-name',
DurationSeconds=900 # how many seconds these credentials will work
)

s3 = boto3.client(
's3',
aws_access_key_id=response['Credentials']['AccessKeyId'],
aws_secret_access_key=response['Credentials']['SecretAccessKey'],
aws_session_token=response['Credentials']['SessionToken']
)

response = s3.list_objects(
Bucket='bucket-in-other-account'
)

关于amazon-web-services - 使用 boto3 访问其他 aws 用户 s3 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47228373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com