首页 > 解决方案 > 是否可以允许多个 AWS CloudFront OAI 访问单个 S3 存储桶?

问题描述

我有一些文档希望在许多网站上托管,其中每个网站都在单独的 CloudFront 分布下。每个 CF 分配都在一个单独的 AWS 账户中,但所有账户都属于一个 AWS 组织。

理想情况下,我想将该文档放入一个帐户中的单个 S3 存储桶中,并让所有 CF 分发将该存储桶视为 S3 来源(例如,一种行为将定义访问/docs/*以指向该单个存储桶)。这意味着存储桶需要在其存储桶策略中向所有 OAI 授予读取权限(每个 CF 分配一个 OAI)。

OAI 的 ARN 如下所示:arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E2WJXXXXXXXXXX.

是否可以定义一个策略来为帐户做一些事情aws:PrincipalOrgID(详见此处:https ://aws.amazon.com/blogs/security/control-access-to-aws-resources-by-using-the- aws-organization-of-iam-principals/),但对于在这些组织账户中定义的 CloudFront OAI?

编辑:我已经尝试按照下面的方式添加Principal*添加PrincipalOrgID我的组织,但这没有用。

{
    "Effect": "Allow",
    "Principal": "*",
    "Action": [
        "s3:GetObject*",
        "s3:GetBucket*",
        "s3:List*"
    ],
    "Resource": [
        "arn:aws:s3:::mybucket",
        "arn:aws:s3:::mybucket/*"
    ],
    "Condition": {
        "StringEquals": {
            "aws:PrincipalOrgID": "o-myOrgId"
        }
}

标签: amazon-web-servicesamazon-cloudfrontamazon-iam

解决方案


推荐阅读