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

Grant S3 bucket access to all principals in organization

场景:

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

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

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

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

我相信您只需在政策中添加 Principal: "*" 即可。这将向任何人开放访问权限,但条件会将其限制为组织。

据我所知,我无法在 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 控制台仪表板上的存储桶。该共享存储桶只能通过直接访问 link。因此,您的根用户必须向您的 IAM 用户

提供 URL 即 https://s3.console.aws.amazon.com/s3/buckets/bucket1/