2023/06/01更新
WafCharm更新に伴い、本記事の内容を見直ししています。

2023/03/23 更新
WafCharmの新機能Credential Storeリリースに伴い、本記事の内容を見直しています。

従来のアクセスキー・シークレットキー方式は利用可能ですが、本リリースをもってAssumeRoleでの利用を推奨します。
AssumeRoleを使用した場合の内容については、以下のブログ記事を参照してください。


目次

  1. 1. WafCharmの利用に必要な権限(Managed Policy)
  2. 2. AWS WAFにCustom Policyをアタッチしたい場合
  3. 3. S3にCustom Policyをアタッチしたい場合
  4. 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をアタッチすることをオススメします。