gpt4 book ai didi

amazon-web-services - 将对象放入另一个帐户的 S3 存储桶中

转载 作者:行者123 更新时间:2023-12-02 19:10:27 25 4
gpt4 key购买 nike

我们能够将对象放入 S3 存储桶中。

但是现在我们有一个需求,需要将这些Object直接放入属于不同账户、不同区域的S3 Bucket中。

这里我们有几个问题:

  • 这可能吗?
  • 如果可能的话,我们需要为此做哪些改变?

他们向我们提供了访问 key 、 key 、区域和存储桶详细信息。

如有任何意见和建议,我们将不胜感激。

最佳答案

IAM 凭证与单个 AWS 账户关联。

当您使用分配的 IAM 角色启动自己的 Amazon EC2 实例时,它将收到与您的账户关联的访问凭证。

要写入另一个账户的 Amazon S3 存储桶,您有两种选择:

选项 1:您的凭据 + 存储桶策略

目标 Amazon S3 存储桶的所有者可以在允许您的 IAM 角色访问的存储桶上添加存储桶策略。这样,您就可以使用 EC2 实例上可用的普通凭证。

选项 2:他们的凭据

您似乎已获得他们帐户的访问凭据。您可以使用这些凭证来访问他们的 Amazon S3 存储桶。

详情请参阅 Working with AWS Credentials - AWS SDK for Java ,您可以通过多种方式提供这些凭据。但是,如果您同时使用 IAM 角色提供的凭证和为您提供的凭证,则可能很难在它们之间“切换”。 (我不确定是否有办法告诉凭证提供程序在存储在 ~/.aws/credentials 文件中的配置文件和通过实例元数据提供的配置文件之间进行切换。)

因此,最简单的方法是在创建 S3 客户端时指定 Access Key 和 Secret Key:

BasicAWSCredentials awsCreds = new BasicAWSCredentials("access_key_id", "secret_key_id");
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.build();

将凭据放入代码中通常不是一个好主意。您应该从配置文件加载它们。

关于amazon-web-services - 将对象放入另一个帐户的 S3 存储桶中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64374623/

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