访问具有访问密钥ID和密钥的s3存储桶

时间:2018-04-04 00:02:17

标签: amazon-web-services amazon-s3

是否可以使用访问密钥ID和秘密访问密钥从其他帐户访问S3存储桶?

我知道这些密钥通常用于API / CLI访问,但我想知道是否可以单独使用这两个帐户从我的帐户中使用它。

解决方法是在AWS上运行CLI并重复同步两个文件夹。

编辑:如果我无法访问原始帐户,那么我该如何处理呢? 我有密钥,并希望将其添加到第二个帐户 - 但无法对第一个帐户进行任何更改

3 个答案:

答案 0 :(得分:3)

是的,访问密钥ID和秘密访问密钥可用于访问S3存储桶,只要它们已为该存储桶设置。

或者,您可以尝试使用guide来解释如何授予跨帐户存储区权限。

答案 1 :(得分:0)

<块引用>

是否可以使用访问密钥 ID 和秘密访问密钥从另一个帐户访问 S3 存储桶?

是的,如果已配置。访问 S3 是 S3 存储桶取决于您是谁、您的 IAM 策略、您需要执行的操作以及存储桶配置是什么(策略、权限、阻止公共访问等)。

您可以阅读文档以了解影响特定请求访问权限的不同因素:https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-s3-evaluates-access-control.html

要配置跨帐户访问,您有三个选择:

  • 配置存储桶策略以允许来自另一个账户或该账户中的委托人的某些或所有 API 操作。这非常灵活,允许几乎所有 S3 存储桶操作,同时保持安全。
  • 配置允许另一个帐户的 ACL 策略。这是在存储桶策略存在之前,但在某些情况下使用起来可能更简单
  • 配置跨账户 IAM 角色。这基本上是向另一个 AWS 账户提供权限。这是比其他选项最灵活的选项,因为它可以包含任何操作。

以上 3 种方式记录在此处:https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/

现在,虽然在文档中使用策略仅用于编程访问,但现在您也可以在控制台中使用它,尽管这不是记录在案的功能。如果您可以通过存储桶策略访问,您只需在 URL 中输入存储桶名称即可在控制台中打开存储桶(将 BUCKET-NAME 替换为您的存储桶名称):https://s3.console.aws.amazon.com/s3/buckets/BUCKET-NAME

另一个问题是,如果您只有 IAM 访问密钥 ID 和密钥,如何访问控制台。要访问控制台,您的 IAM 用户需要密码,如果没有密码,您将无法使用 IAM 用户,但是如果您有足够的权限 you can set a password for yourself。您可以做的另一件事是,如果您可以承担一个 IAM 角色(如果您有足够的权限可以创建自己的权限),那么您可以简单地使用一个工具,该工具可以使用 federation API 生成控制台链接。以下是我所知道的一些:

答案 2 :(得分:0)

简短的回答是“是的,这是可能的”。

至于“怎么样?”有很多选择。您可以使用您选择的语言的 boto3 或 aws sdk,在 lambda、EC2 或 ECS 容器等中运行它。

您甚至可以自己实现 SigV4 来签署您的请求(这是 AWS 开发工具包在内部所做的)。