CloudFront策略仅使特定的distrubution无效

时间:2017-06-05 16:10:58

标签: amazon-web-services amazon-cloudfront amazon-iam

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

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

现在,我有这样的声明:

{
    "Effect": "Allow",
    "Action": [
        "cloudfront:CreateInvalidation"
    ],
    "Resource": "*"
}

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

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

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

我需要在Resource属性中指定哪些内容才能为特定分发创建无效?

例如,它的ARN为arn:aws:cloudfront::12345678:distribution/ABCDEFG

2 个答案:

答案 0 :(得分:11)

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

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

答案 1 :(得分:2)

现在 Clodfront 支持使用 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>"
        }
    ]
}

此处有更多详细信息:https://docs.amazonaws.cn/en_us/AmazonCloudFront/latest/DeveloperGuide/access-control-overview.html