【问题标题】:AWS S3 bucket organization access policyAWS S3 存储桶组织访问策略
【发布时间】:2018-08-09 20:03:20
【问题描述】:

我的公司在 AWS 中设立了一个组织(以公司 A 为例)。每个团队都有一个加入该组织的帐户(HR、ProductA、ProductB 等)。我们在 ProductA 中尝试授予对 S3 存储桶的只读访问权限,该存储桶充当我们拥有的 yum 存储库,从他们的 ec2 实例中的任何人都在没有身份验证的情况下(yum 命令可以直接使用)

我们评估的一些项目: https://github.com/rmela/yum-s3-plugin -> 这将伴随用户主体访问,用户需要添加他们的密钥才能从 repo 中提取

http://parthicloud.com/how-to-access-s3-bucket-from-application-on-amazon-ec2-without-access-credentials/ -> 非常适合您自己账户的教程,需要使用 IAM 策略启动 ec2 实例以允许访问存储桶。

【问题讨论】:

    标签: amazon-web-services amazon-s3


    【解决方案1】:

    向列出您的 AWS 组织的存储桶策略添加条件,并允许所有委托人访问。见AWS Global Condition Context Keys,搜索aws:PrincipalOrgID。 “当您添加和删除帐户时,包含 aws:PrincipalOrgID 的策略会自动包含正确的帐户,并且不需要手动更新。”

    以下示例中的 ActionResource 部分应与列出组织中所有 AWS 账户的当前策略相同。

    {
      "Version": "2012-10-17",
      "Statement": {
        "Sid": "AllowOrganizationToReadYumBucket",
        "Effect": "Allow",
        "Principal": "*",
        "Action": [
          "s3:GetObject",
          "s3:ListBucket"
        ],
        "Resource": [
          "arn:aws:s3:::your-yum-bucket",
          "arn:aws:s3:::your-yum-bucket/*"
        ],
        "Condition": {
          "StringEquals": {"aws:PrincipalOrgID":["o-xxxxxxxxxxx"]}
        }
      }
    }
    

    【讨论】:

    • 这是一个很好的解决方案。唯一的问题是s3:ListObject 权限不存在。应该是s3:ListBucket
    • 这允许所有帐户中的所有帐户用户、组、角色的权限。
    【解决方案2】:

    Amazon S3 存储桶策略无法引用 AWS 组织 中的一组账户。

    您的存储桶策略需要单独列出每个帐户的权限。例如:

    "Principal":{"AWS":"arn:aws:iam::ACCOUNT-NUMBER:user/*"}
    

    【讨论】:

    • 是的,我们有这个工作。我也应该多描述一下。此 S3 存储库将是一个 yum 存储库。我们希望能够添加一些策略,以允许其他帐户无需登录其 ec2 实例即可访问存储库。我发现了大量可以在自己的帐户 (parthicloud.com/…) 中使用的示例,以及需要 s3 auth 和 yum (github.com/rmela/yum-s3-plugin) 的示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 2019-10-05
    • 2019-04-28
    • 2019-04-23
    • 2020-12-18
    相关资源
    最近更新 更多