AWS S3存储桶组织访问策略

use*_*018 3 amazon-s3 amazon-web-services

我的公司在AWS中建立了一个组织(以CompanyA为例)。每个团队都有一个加入该组织的帐户(人力资源,产品A,产品B等)。我们在ProductA中尝试授予对S3存储桶的只读访问权限,该存储桶是本组织下任何人从ec2实例中获得的yum存储库的所有权,而没有auth(yum命令是开箱即用的)

我们评估了一些项目:https : //github.com/rmela/yum-s3-plugin- >这将与用户主体访问一起进行,用户需要添加其密钥以从存储库中提取

http://parthicloud.com/how-to-access-s3-bucket-from-application-on-amazon-ec2-without-access-credentials/- >内置帐户的好教程,需要带ec2实例IAM策略以允许访问存储桶。

til*_*lde 7

将条件添加到列出您的AWS组织的存储桶策略中,并允许所有主体访问。请参阅AWS Global Condition上下文键,搜索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"]}
    }
  }
}
Run Code Online (Sandbox Code Playgroud)


Joh*_*ein -1

Amazon S3 存储桶策略不可能引用AWS 组织中的一组账户。

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

"Principal":{"AWS":"arn:aws:iam::ACCOUNT-NUMBER:user/*"}
Run Code Online (Sandbox Code Playgroud)