CloudFront策略仅使特定的distrubution无效

Sla*_* II 5 amazon-web-services amazon-cloudfront amazon-iam

我正在使用S3存储桶来存储文件,使用CloudFront来分发它们.我有一个自动处理同步的工具,它工作得很好.

但是,我希望能够以编程方式创建CloudFront失效.我需要在工具的策略中添加什么语句才能为此特定分发创建无效?

现在,我有这样的声明:

{
    "Effect": "Allow",
    "Action": [
        "cloudfront:CreateInvalidation"
    ],
    "Resource": "*"
}
Run Code Online (Sandbox Code Playgroud)

但是,正如您所看到的,它允许为帐户中的任何分配创建失效.

我试图将这些值用于Resource属性,但由于某种原因,该工具给了我一个错误,说访问被拒绝:

  • arn:aws:cloudfront::12345678:distribution/ABCDEFG
  • arn:aws:cloudfront:::distribution/ABCDEFG

我需要在Resource属性中指定什么才能允许仅为特定分布创建失效?

arn:aws:cloudfront::12345678:distribution/ABCDEFG例如,这是ARN .

Gra*_*Dot 24

现在,CloudFront 支持使用 IAM 策略进行分发级别权限。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "cloudfront:UpdateDistribution",
                "cloudfront:DeleteDistribution",
                "cloudfront:CreateInvalidation"
            ],
            "Resource": "arn:aws:cloudfront::<account_id>:distribution/<distribution_id>"
        }
    ]
}

Run Code Online (Sandbox Code Playgroud)

更多详细信息请参见:https://docs.amazonaws.cn/en_us/AmazonCloudFront/latest/DeveloperGuide/access-control-overview.html


Mat*_*ser 12

cloudfront:CreateInvalidation命令不支持资源级权限.因此,仅*支持.因此,不可能将用户/角色限制为仅能够使特定分发无效.

资料来源:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cf-api-permissions-ref.html