2023/06/01更新
WafCharm更新に伴い、本記事の内容を見直ししています。
2023/03/23 更新
WafCharmの新機能Credential Storeリリースに伴い、本記事の内容を見直しています。
従来のアクセスキー・シークレットキー方式は利用可能ですが、本リリースをもってAssumeRoleでの利用を推奨します。
AssumeRoleを使用した場合の内容については、以下のブログ記事を参照してください。
目次
- 1. WafCharmの利用に必要な権限(Managed Policy)
- 2. AWS WAFにCustom Policyをアタッチしたい場合
- 3. S3にCustom Policyをアタッチしたい場合
- 4. まとめ
1. WafCharmの利用に必要な権限(Managed Policy)
1-1. まず IAM のサービスページを開きます。

1-2. IAMのサービスページに遷移したら、サブメニューバーから Users を選択します。

1-3. WafCharmに登録しているAWS WAFのユーザーをクリックします。

1-4. 表示されるアタッチ済みのPolicyに “AWSWAFFullAccess” 、“AmazonS3ReadOnlyAccess”と”CloudWatchReadOnlyAccess” があるか確認してください。

この3つの Managed Policy がアタッチされていれば問題なくWafCharmを利用できます。
また、S3の読み込み権限を特定のBucket, Prefix配下に対してのみ許可したい場合は以下のJSONを環境に応じて変更し、S3のCustom Policyとして使用することもできます。
※2023/03 現在
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:List*",
                "s3:Get*"
            ],
            "Resource": [
                "arn:aws:s3:::<任意のBucket>",
                "arn:aws:s3:::<任意のBucket>/<folder_name>/*"
            ]
        }
    ]
}
IAMのポリシー “CloudWatchReadOnlyAccess” の
権限をさらに絞り込みたい場合は、以下の JSON をCustom Policy としてご利用ください。
※ CloudWatch には、ポリシーのリソースを使用して制御するためのリソースがないため、IAM ポリシーではワイルドカード文字 (*) を使用します。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "cloudwatch:GetMetricData",
            "Resource": "*"
        }
    ]
}
2. AWS WAFにCustom Policyをアタッチしたい場合
AWS WAF v2でのご利用の場合、機能の追加や更新により権限が不足する懸念がございますので、 AWSWAFFullAccess で設定ください。
3. S3にCustom Policyをアタッチしたい場合
S3の読み込み権限をアタッチしたくない方はWafCharmに登録しているAWS WAFのユーザーに以下のPolicyをアタッチしてください。
S3のPolicyで使用しているものは以下になります。
| GetObject | 
| ListBucket | 
※2023/03 現在
4. まとめ
今回はWafCharmをご利用の際に必要となる AWS WAF と S3 の権限について紹介しました。
今後もAWS WAFの機能追加に伴い、WafCharmの機能を更新していきます。
必要なPolicyが増える可能性もあるので、Managed Policyをアタッチすることをオススメします。

