BLOG

2018/10/19

WafCharmご利用の際に必要となるIAMポリシー

【概要】

WafCharmを利用するにはIAMによるWAFのフルアクセスの権限とS3の読み込み権限を付与することを推奨しています。今回はAWS側で用意されているManaged Policyをアタッチする方法と「セキュリティ上、WAFのフルアクセスは許可したくない」といった方向けに必要なCustom Policyをピックアップしました。

 

目次:

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” があるか確認してください。

 

この2つの Managed Policy がアタッチされていれば問題なくWafCharmを利用できます。
また、S3の読み込み権限を特定のBucket, Prefix配下に対してのみ許可したい場合は以下のJSONを環境に応じて変更し、S3のCustom Policyとして使用することもできます。2019/01 現在

{
    "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>/*"
            ]
        }
    ]
}

 

2. AWS WAFにCustom Policyをアタッチしたい場合

WAFのフルアクセスをアタッチしたくない方はWafCharmに登録しているAWS WAFのユーザーに以下のPolicyをアタッチしてください。

CreateByteMatchSet
CreateIPSet
CreateRule
CreateRateBasedRule
CreateRegexMatchSet
CreateRegexPatternSet
CreateSizeConstraintSet
CreateSqlInjectionMatchSet
CreateXssMatchSet
DeleteByteMatchSet
DeleteIPSet
DeleteRule
DeleteRateBasedRule
DeleteRegexMatchSet
DeleteRegexPatternSet
DeleteSizeConstraintSet
DeleteSqlInjectionMatchSet
DeleteXssMatchSet
GetByteMatchSet
GetChangeToken
GetChangeTokenStatus
GetIPSet
GetRule
GetRateBasedRule
GetRateBasedRuleManagedKeys
GetRegexMatchSet
GetRegexPatternSet
GetSampledRequests
GetSizeConstraintSet
GetSqlInjectionMatchSet
GetWebACL
GetXssMatchSet
ListByteMatchSets
ListIPSets
ListRules
ListRateBasedRules
ListRegexMatchSets
ListRegexPatternSets
ListSizeConstraintSets
ListSqlInjectionMatchSets
ListWebACLs
ListXssMatchSets
UpdateByteMatchSet
UpdateIPSet
UpdateRule
UpdateRateBasedRule
UpdateRegexMatchSet
UpdateRegexPatternSet
UpdateSizeConstraintSet
UpdateSqlInjectionMatchSet
UpdateWebACL
UpdateXssMatchSet

※2019/01 現在

ご覧の通り、Custom Policyと言いつつも大半のPolicyが必要です。

 

 

3. S3にCustom Policyをアタッチしたい場合

S3の読み込み権限をアタッチしたくない方はWafCharmに登録しているAWS WAFのユーザーに以下のPolicyをアタッチしてください。

S3のPolicyで使用しているものは以下になります。

GetObject
ListBucket

※2019/01 現在

 

 

4. まとめ

今回はWafCharmをご利用の際に必要となる AWS WAF と S3 の権限について紹介しました。

今後もAWS WAFの機能追加に伴い、WafCharmの機能を更新していきます。
必要なPolicyが増える可能性もあるので、Managed Policyをアタッチすることをオススメします。