WordPressプラグインのC3 Cloudfront Cache ControllerのIAMの設定を少しだけ厳しくする

プラグインの設定方法を読むとIAMのポリシーの設定項目でResourceの項目に*が設定されていましたが念の為対象のDistributionだけに制限したのでメモ。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "cloudfront:GetDistribution",
                "cloudfront:ListInvalidations",
                "cloudfront:GetStreamingDistribution",
                "cloudfront:GetDistributionConfig",
                "cloudfront:GetInvalidation",
                "cloudfront:CreateInvalidation"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:cloudfront::<アカウントID>:distribution/<CloudFrontのDistributionID>"
        }
    ]
}

うまくいかないとき

記事を更新してもCloudFrontのInvalidationに追加されないときはFlush All Cacheボタンを押してみると

Flush All Cache

エラーが以下のように出るのでデバッグできるかと思います(この場合は権限が足りなかった)

Flush All Cache