この記事は公開されてから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エッジキャッシュクリアを行うためだけのユーザーを作成してみました。