AWS WAF のアクション、リソース、および条件キー
AWS WAF (サービスプレフィックス: waf
) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。
参照:
-
このサービスを設定する方法について説明します。
-
このサービスで使用可能な API オペレーションのリストを表示します。
-
IAM アクセス許可ポリシーを使用して、このサービスとそのリソースを保護する方法を学びます。
AWS WAF で定義されるアクション
IAM ポリシーステートメントの Action
エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。
[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource
要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource
要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。
[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition
要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。
注記
リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。
以下の表の列の詳細については、「アクションテーブル」を参照してください。
アクション | 説明 | アクセスレベル | リソースタイプ (* 必須) | 条件キー | 依存アクション |
---|---|---|---|---|---|
CreateByteMatchSet | ByteMatchSet を作成する許可を付与 | Write | |||
CreateGeoMatchSet | GeoMatchSet を作成する許可を付与 | Write | |||
CreateIPSet | IPSet を作成する許可を付与 | Write | |||
CreateRateBasedRule | 単一の IP アドレスからのリクエストの量を制限する RateBasedRule を作成する許可を付与 | Write | |||
CreateRegexMatchSet | RegexMatchSet を作成する許可を付与 | Write | |||
CreateRegexPatternSet | RegexPatternSet を作成する許可を付与。 | Write | |||
CreateRule | ウェブリクエストをフィルターするルールを作成する許可を付与 | Write | |||
CreateRuleGroup | WebACL で使用できる定義済みルールのコレクションである RuleGroup を作成する許可を付与。 | Write | |||
CreateSizeConstraintSet | SizeConstraintSet を作成する許可を付与 | Write | |||
CreateSqlInjectionMatchSet | SqlInjectionMatchSet を作成する許可を付与 | Write | |||
CreateWebACL | ウェブリクエストをフィルターするルールを含む WebACL を作成する権限を付与します。 | Permissions management | |||
CreateWebACLMigrationStack | AWS WAF Classic から AWS WAF v2 にウェブ ACL を移行する目的で S3 バケットに CloudFormation ウェブ ACL テンプレートを作成する許可を付与します | Write |
s3:PutObject |
||
CreateXssMatchSet | クロスサイトスクリプティング攻撃を含むリクエストを検出するために使用する XssMatchSet を作成する許可を付与 | Write | |||
DeleteByteMatchSet | ByteMatchSet を削除する許可を付与 | Write | |||
DeleteGeoMatchSet | GeoMatchSet を削除する許可を付与 | Write | |||
DeleteIPSet | IPSet を削除する許可を付与。 | Write | |||
DeleteLoggingConfiguration | ウェブ ACL から LoggingConfiguration を削除する許可を付与 | Write | |||
DeletePermissionPolicy | ルールグループから IAM ポリシーを削除する許可を付与 | Permissions management | |||
DeleteRateBasedRule | RateBasedRule を削除する許可を付与。 | Write | |||
DeleteRegexMatchSet | RegexMatchSet を削除する許可を付与 | Write | |||
DeleteRegexPatternSet | RegexPatternSet を削除する許可を付与。 | Write | |||
DeleteRule | ルールを削除する許可を付与。 | Write | |||
DeleteRuleGroup | RuleGroup を削除する許可を付与 | Write | |||
DeleteSizeConstraintSet | SizeConstraintSet を削除する許可を付与 | Write | |||
DeleteSqlInjectionMatchSet | SqlInjectionMatchSet を削除する許可を付与 | Write | |||
DeleteWebACL | WebACL を削除する許可を付与 | Permissions management | |||
DeleteXssMatchSet | XssMatchSet を削除する許可を付与 | Write | |||
GetByteMatchSet | ByteMatchSet を取得する許可を付与 | Read | |||
GetChangeToken | 作成、更新、および削除リクエストで使用する変更トークンを取得する許可を付与 | Read | |||
GetChangeTokenStatus | 変更トークンのステータスを取得する許可を付与 | Read | |||
GetGeoMatchSet | GeoMatchSet を取得する許可を付与 | Read | |||
GetIPSet | IPSet を取得する許可を付与 | Read | |||
GetLoggingConfiguration | ウェブ ACL の LoggingConfiguration を取得する許可を付与 | Read | |||
GetPermissionPolicy | ルールグループの IAM ポリシーを取得する許可を付与 | Read | |||
GetRateBasedRule | RateBasedRule を取得する許可を付与 | Read | |||
GetRateBasedRuleManagedKeys | RateBasedRule によって現在ブロックされている IP アドレスの配列を取得する許可を付与 | Read | |||
GetRegexMatchSet | RegexMatchSet を取得する許可を付与 | Read | |||
GetRegexPatternSet | RegexPatternSet を取得する許可を付与 | Read | |||
GetRule | ルールを取得する許可を付与 | Read | |||
GetRuleGroup | RuleGroup を取得する許可を付与 | Read | |||
GetSampledRequests | ウェブリクエストのサンプルセットに関する詳細情報を取得する許可を付与 | Read | |||
GetSizeConstraintSet | SizeConstraintSet を取得するためのアクセス許可を付与します | Read | |||
GetSqlInjectionMatchSet | SqlInjectionMatchSet を取得する許可を付与 | Read | |||
GetWebACL | WebACL を取得する許可を付与 | Read | |||
GetXssMatchSet | XssMatchSet を取得する許可を付与 | Read | |||
ListActivatedRulesInRuleGroup | ActivatedRule オブジェクトの配列を取得する許可を付与 | リスト | |||
ListByteMatchSets | ByteMatchSetSummary オブジェクトの配列を取得する許可を付与 | リスト | |||
ListGeoMatchSets | GeoMatchSetSummary オブジェクトの配列を取得するためのアクセス許可を付与します。 | リスト | |||
ListIPSets | IPSetSummary オブジェクトの配列を取得する許可を付与 | リスト | |||
ListLoggingConfigurations | LoggingConfiguration オブジェクトの配列を取得する許可を付与 | リスト | |||
ListRateBasedRules | RuleSummary オブジェクトの配列を取得する権限を付与します | リスト | |||
ListRegexMatchSets | RegexMatchSetSummary オブジェクトの配列を取得する許可を付与 | リスト | |||
ListRegexPatternSets | RegexPatternSetSummary オブジェクトの配列を取得する許可を付与 | リスト | |||
ListRuleGroups | RuleGroup オブジェクトの配列を取得する許可を付与 | リスト | |||
ListRules | RuleSummary オブジェクトの配列を取得する権限を付与します | リスト | |||
ListSizeConstraintSets | SizeConstraintSetSummary オブジェクトの配列を取得する許可を付与 | リスト | |||
ListSqlInjectionMatchSets | SqlInjectionMatchSet オブジェクトの配列を取得する許可を付与 | リスト | |||
ListSubscribedRuleGroups | サブスクライブしている RuleGroup オブジェクトの配列を取得する許可を付与 | リスト | |||
ListTagsForResource | リソースのタグを取得する許可を付与 | Read | |||
ListWebACLs | WebACLSummary オブジェクトの配列を取得する許可を付与 | リスト | |||
ListXssMatchSets | XssMatchSet オブジェクトの配列を取得する許可を付与 | リスト | |||
PutLoggingConfiguration | 指定したウェブ ACL に LoggingConfiguration を関連付けるアクセス許可を付与します | Write |
iam:CreateServiceLinkedRole |
||
PutPermissionPolicy | IAM ポリシーをルールグループにアタッチし、アカウント間でルールグループを共有する許可を付与 | Permissions management | |||
TagResource | リソースにタグを追加する許可を付与 | タグ付け | |||
UntagResource | リソースからタグを削除する許可を付与 | タグ付け | |||
UpdateByteMatchSet | ByteMatchSet に ByteMatchTuple オブジェクトを挿入または削除するアクセス許可権限を付与します | Write | |||
UpdateGeoMatchSet | GeoMatchSet で GeoMatchConstraint オブジェクトを挿入または削除する権限を付与します | Write | |||
UpdateIPSet | IPSet 内の IPSetDescriptor オブジェクトを挿入または削除する許可を付与。 | Write | |||
UpdateRateBasedRule | レートベースのルールを変更する許可を付与 | Write | |||
UpdateRegexMatchSet | RegexMatchSet で RegexMatchTuple オブジェクトを挿入または削除する許可を付与。 | Write | |||
UpdateRegexPatternSet | RegexPatternSet で RegexPatternStrings を挿入または削除する権限を付与します。 | Write | |||
UpdateRule | ルールを変更する許可を付与 | Write | |||
UpdateRuleGroup | RuleGroup で ActivatedRule オブジェクトを挿入または削除する許可を付与 | Write | |||
UpdateSizeConstraintSet | SizeConstraintSet で SizeConstraint オブジェクトを挿入または削除する許可を付与。 | Write | |||
UpdateSqlInjectionMatchSet | SqlInjectionMatchSet で SqlInjectionMatchTuple オブジェクトを挿入または削除する許可を付与 | Write | |||
UpdateWebACL | WebACL で ActivatedRule オブジェクトを挿入または削除する許可を付与 | Permissions management | |||
UpdateXssMatchSet | XssMatchSet で XssMatchTuple オブジェクトを挿入または削除する許可を付与 | Write |
AWS WAF で定義されるリソースタイプ
以下のリソースタイプは、このサービスによって定義され、IAM アクセス許可ポリシーステートメントの Resource
エレメントで使用できます。アクションテーブルの各アクションは、そのアクションで指定できるリソースタイプを示しています。リソースタイプは、ポリシーに含めることができる条件キーを定義することもできます。これらのキーは、[リソースタイプ] テーブルの最後の列に表示されます。以下の表の列の詳細については、「リソースタイプテーブル」を参照してください。
リソースタイプ | ARN | 条件キー |
---|---|---|
bytematchset |
arn:${Partition}:waf::${Account}:bytematchset/${Id}
|
|
ipset |
arn:${Partition}:waf::${Account}:ipset/${Id}
|
|
ratebasedrule |
arn:${Partition}:waf::${Account}:ratebasedrule/${Id}
|
|
rule |
arn:${Partition}:waf::${Account}:rule/${Id}
|
|
sizeconstraintset |
arn:${Partition}:waf::${Account}:sizeconstraintset/${Id}
|
|
sqlinjectionmatchset |
arn:${Partition}:waf::${Account}:sqlinjectionset/${Id}
|
|
webacl |
arn:${Partition}:waf::${Account}:webacl/${Id}
|
|
xssmatchset |
arn:${Partition}:waf::${Account}:xssmatchset/${Id}
|
|
regexmatchset |
arn:${Partition}:waf::${Account}:regexmatch/${Id}
|
|
regexpatternset |
arn:${Partition}:waf::${Account}:regexpatternset/${Id}
|
|
geomatchset |
arn:${Partition}:waf::${Account}:geomatchset/${Id}
|
|
rulegroup |
arn:${Partition}:waf::${Account}:rulegroup/${Id}
|
AWS WAF の条件キー
AWS WAF では、IAM ポリシーの Condition
要素で使用できる以下の条件キーを定義します。これらのキーを使用して、ポリシーステートメントが適用される条件をさらに絞り込むことができます。以下の表の列の詳細については、「条件キーテーブル」を参照してください。
すべてのサービスで使用できるグローバル条件キーを確認するには、「使用できるグローバル条件キー」を参照してください。
条件キー | 説明 | タイプ |
---|---|---|
aws:RequestTag/${TagKey} | 各タグで許可されている値のセットに基づいてアクションをフィルタリングします | 文字列 |
aws:ResourceTag/${TagKey} | リソースに関連付けられている tag-value に基づいてアクションをフィルタリングします。 | 文字列 |
aws:TagKeys | リクエスト内の必須タグのプレゼンスに基づいてアクションをフィルタリングします | ArrayOfString |