Amazon web services 使用boto3访问其他aws用户s3存储桶
我正在制作一个Django web应用程序,它可以列出用户s3 bucket,还可以让我访问s3 bucket中的其他用户文件。 是否有任何方法可以使用boto3访问其他用户帐户,如一些临时凭据 boto3具有为角色返回临时凭据的方法 为了使其正常工作,您访问的帐户必须具有一个具有允许访问S3存储桶的策略的角色,并且该角色本身必须与您呼叫的帐户具有信任关系 另外,运行django应用程序的实例应该具有允许权限的实例角色 代码看起来像Amazon web services 使用boto3访问其他aws用户s3存储桶,amazon-web-services,amazon-s3,boto3,Amazon Web Services,Amazon S3,Boto3,我正在制作一个Django web应用程序,它可以列出用户s3 bucket,还可以让我访问s3 bucket中的其他用户文件。 是否有任何方法可以使用boto3访问其他用户帐户,如一些临时凭据 boto3具有为角色返回临时凭据的方法 为了使其正常工作,您访问的帐户必须具有一个具有允许访问S3存储桶的策略的角色,并且该角色本身必须与您呼叫的帐户具有信任关系 另外,运行django应用程序的实例应该具有允许权限的实例角色 代码看起来像 import boto3 sts = boto3.clien
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'
)
OTHERACCOUNTID您是指其他用户创建的IAM用户id?我指的是另一个AWS帐户。在为特定IAM用户创建bucket的情况下,步骤相同,只需使用您自己的AWS帐号,并确保您假设的角色具有访问该用户的权限。那么['AccessKeyId']是什么??它是其他用户的吗?它是callsts=boto3生成的临时凭证的
AccessKeyId
。客户端('sts')应该在此行中提供访问密钥吗?其他帐户如何授予您访问权限?一些选项:Bucket策略、角色、用户。在开始编写代码之前,先考虑一下这个过程。