向组织中的所有委托人授予 S3 存储桶访问权限

时间:2021-03-11 08:52:46

标签: amazon-web-services amazon-s3 aws-policies

场景:

我在同一个组织中有 3 个 AWS 根账户。

  1. admin@mydomain.com
  2. user1@mydomain.com
  3. user2@mydomain.com

user1 创建了一个 S3 存储桶 B1。我希望 user2admin 能够在他们自己的 S3 仪表板上查看和浏览 B1。这可能吗?我需要创建什么政策(政策)?我在哪里创建这些策略以及如何创建它们?

**原始问题已被编辑。下面的一些答案可能不再相关

2 个答案:

答案 0 :(得分:0)

我相信您需要做的就是将 Principal: "*" 添加到策略中。这会向任何人开放访问权限,但条件会将其限制为组织。

答案 1 :(得分:0)

据我所知,我无法在 root 用户之间进行 S3 存储桶控制台共享。我终于设法与 IAM 用户共享了 user1 创建的存储桶。

Root 用户的步骤

  1. 登录 AWS 控制台并转到 IAM
  2. 创建群组
  3. 创建 IAM 策略,即允许 S3 完全访问(见下文)
  4. 将策略附加到组
  5. 创建 IAM 用户
  6. 对于访问类型,选择 AWS 管理控制台访问
  7. 将用户添加到您在第 1 步中创建的群组
  8. 继续操作,直到您点击创建用户按钮

IAM 政策

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": "s3:*",
         "Resource": "*",
         "Condition": {
            "StringEquals": {
               "aws:PrincipalOrgID": "o-xxxvvvwww8"
            }
         }
      }
   ]
}

编辑:

经过严格的试错测试,我们似乎甚至不需要存储桶策略来实现这一点。我已经删除了存储桶策略,它仍然有效!

IAM 用户的步骤

  1. 以 IAM 用户身份登录 AWS 控制台
  2. 转到 S3 控制台。您应该能够查看和浏览所有组织成员创建的所有存储桶和对象

注意

您的 IAM 用户将无法看到其 S3 控制台仪表板上列出的存储桶。该共享存储桶只能通过直接链接访问。因此,您的根用户必须向您的 IAM 用户提供 URL,即 https://s3.console.aws.amazon.com/s3/buckets/bucket1/