首页 > 解决方案 > 授予对组织中所有委托人的 S3 存储桶访问权限

问题描述

设想:

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

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

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

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

标签: amazon-web-servicesamazon-s3aws-policies

解决方案


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

根用户的步骤

  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 控制台仪表板上列出的存储桶。该共享存储桶只能通过直接链接访问。因此,您的根用户必须将 URL 即提供https://s3.console.aws.amazon.com/s3/buckets/bucket1/给您的 IAM 用户


推荐阅读