CloudFrontエッジキャッシュクリアのみを行うユーザーの作成

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、吉井です。
いかがお過ごしでしょうか。

みなさまはCloudFrontをお使いでしょうか。
CloudFrontの管理は自社で行い、Webコンテンツ作成・アップロードは外部委託しているケースはよくあると思います。
コンテンツアップロード後には、それらのエッジキャッシュをクリアする必要があります。
即時性を考えるとコンテンツ作成担当者にCloudFrontエッジキャッシュのクリアまでお願い出来ればハッピーです。

今回は依頼を受けて、エッジキャッシュクリアだけ可能なIAMユーザーを作成します。

IAMユーザーの作成

AWSマネジメントコンソールへログインし、IAM画面を開きます。

ポリシー作成

ポリシー作成画面でJSONタブをクリックし以下のポリシーをペーストします。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudfront:GetDistribution",
                "cloudfront:GetDistributionConfig",
                "cloudfront:ListDistributions",
                "cloudfront:ListStreamingDistributions",
                "cloudfront:CreateInvalidation",
                "cloudfront:ListInvalidations",
                "cloudfront:GetInvalidation"
            ],
            "Resource": "*"
        }
    ]
}
ポリシー名

ポリシーに名前を付けて、Create Policyをクリックします。

IAMユーザー作成

続きまして、ユーザーを作成します。

ユーザー名

ユーザー名を決めます。
アクセスの種類は用途に応じて適切な方法を選択してください。
- CLI、SDKでエッジキャッシュクリアさせたい場合 → プログラムによるアクセス
- AWSマネジメントコンソール経由でエッジキャッシュクリアさせたい場合 → AWSマネジメントコンソールへのアクセス
(画面例はAWSマネジメントコンソールへのアクセス)

ポリシーの付与

上で作成したポリシーを付与します。

自社のパスワードポリシーで定期的なパスワード変更など、
ユーザー自身にパスワードを変更させたい場合は、IAMUserChangePasswordを付与します。

確認

設定した内容を確認します。

CSVダウンロード

csvを忘れずにダウンロードします。

さいごに

権限を正しく設定することは簡単ではありませんが、上手に活用出来れば特定操作のみを許可したユーザーIDを払い出すことが可能です。
今回はCloudFrontエッジキャッシュクリアを行うためだけのユーザーを作成してみました。