向组织中的所有委托人授予 S3 存储桶访问权限
Grant S3 bucket access to all principals in organization
场景:
我在同一个组织中有 3 个 AWS 根账户。
- admin@mydomain.com
- user1@mydomain.com
- user2@mydomain.com
user1
创建了一个 S3 存储桶 B1
。我希望 user2
和 admin
能够在他们自己的 S3 仪表板上查看和浏览 B1
。这可能吗?我需要制定什么政策?我在哪里创建这些策略以及如何创建它们?
**原问题已编辑。下面的一些答案可能不再相关
我相信您只需在政策中添加 Principal: "*"
即可。这将向任何人开放访问权限,但条件会将其限制为组织。
据我所知,我无法在 root 用户之间共享 S3 存储桶控制台。我终于设法与 IAM 用户共享 user1
创建的存储桶。
Root 用户的步骤
- 登录 AWS 控制台并转到 IAM
- 创建群组
- 创建 IAM 策略,即允许 S3 完全访问(见下文)
- 将策略附加到组
- 创建 IAM 用户
- 对于访问类型,选择 AWS 管理控制台访问
- 将用户添加到您在第 1 步中创建的组
- 继续操作,直到您点击创建用户按钮
IAM 政策
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "o-xxxvvvwww8"
}
}
}
]
}
编辑:
经过严格的反复试验,似乎我们甚至不需要存储桶策略就可以工作。我删除了存储桶策略,它仍然有效!
IAM 用户步骤
- 以 IAM 用户身份登录 AWS 控制台
- 转到 S3 控制台。您应该能够查看和浏览所有组织成员创建的所有存储桶和对象
备注
您的 IAM 用户将无法看到列在其 S3 控制台仪表板上的存储桶。该共享存储桶只能通过直接访问 link。因此,您的根用户必须向您的 IAM 用户
提供 URL 即 https://s3.console.aws.amazon.com/s3/buckets/bucket1/
场景:
我在同一个组织中有 3 个 AWS 根账户。
- admin@mydomain.com
- user1@mydomain.com
- user2@mydomain.com
user1
创建了一个 S3 存储桶 B1
。我希望 user2
和 admin
能够在他们自己的 S3 仪表板上查看和浏览 B1
。这可能吗?我需要制定什么政策?我在哪里创建这些策略以及如何创建它们?
**原问题已编辑。下面的一些答案可能不再相关
我相信您只需在政策中添加 Principal: "*"
即可。这将向任何人开放访问权限,但条件会将其限制为组织。
据我所知,我无法在 root 用户之间共享 S3 存储桶控制台。我终于设法与 IAM 用户共享 user1
创建的存储桶。
Root 用户的步骤
- 登录 AWS 控制台并转到 IAM
- 创建群组
- 创建 IAM 策略,即允许 S3 完全访问(见下文)
- 将策略附加到组
- 创建 IAM 用户
- 对于访问类型,选择 AWS 管理控制台访问
- 将用户添加到您在第 1 步中创建的组
- 继续操作,直到您点击创建用户按钮
IAM 政策
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "o-xxxvvvwww8"
}
}
}
]
}
编辑:
经过严格的反复试验,似乎我们甚至不需要存储桶策略就可以工作。我删除了存储桶策略,它仍然有效!
IAM 用户步骤
- 以 IAM 用户身份登录 AWS 控制台
- 转到 S3 控制台。您应该能够查看和浏览所有组织成员创建的所有存储桶和对象
备注
您的 IAM 用户将无法看到列在其 S3 控制台仪表板上的存储桶。该共享存储桶只能通过直接访问 link。因此,您的根用户必须向您的 IAM 用户
提供 URL 即https://s3.console.aws.amazon.com/s3/buckets/bucket1/