AWS WAF Classic と の連携方法 IAM - AWS WAF、 AWS Firewall Manager、および AWS Shield Advanced

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS WAF Classic と の連携方法 IAM

警告

AWS WAF クラシックサポートは 2025 年 9 月 30 日に終了します。

注記

これは AWS WAF Classic ドキュメントです。このバージョンは、2019 年 11 月ACLs AWS WAF より前にルールやウェブ などのリソースを作成し AWS WAF 、最新バージョンに移行していない場合にのみ使用してください。ウェブ を移行するにはACLs、「」を参照してくださいAWS WAF Classic リソースを AWS WAF に移行する

の最新バージョンについては、 AWS WAF「」を参照してくださいAWS WAF

IAM を使用して AWS WAF Classic へのアクセスを管理する前に、 AWS WAF Classic で使用できるIAM機能を確認してください。

AWS WAF Classic およびその他の AWS のサービスがほとんどの IAM 機能と連携する方法の概要を把握するには、IAM「 ユーザーガイド」のAWS 「 と連携する のサービスIAM」を参照してください。

AWS WAF Classic のアイデンティティベースのポリシー

アイデンティティベースのポリシーのサポート: あり

アイデンティティベースのポリシーは、 IAM ユーザー、ユーザーのグループ、ロールなど、アイデンティティにアタッチできるJSONアクセス許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースのポリシーを作成する方法については、「 IAMユーザーガイド」の「カスタマー管理ポリシーを使用してカスタムIAMアクセス許可を定義する」を参照してください。

IAM のアイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、またアクションが許可または拒否される条件を指定できます。プリンシパルは、それが添付されているユーザーまたはロールに適用されるため、アイデンティティベースのポリシーでは指定できません。JSON ポリシーで使用できるすべての要素については、「 IAMユーザーガイド」の「 IAMJSONポリシー要素リファレンス」を参照してください。

AWS WAF Classic アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいAWS WAF Classic のアイデンティティベースのポリシーの例

AWS WAF Classic 内のリソースベースのポリシー

リソースベースのポリシーのサポート: なし

リソースベースのポリシーは、リソースにアタッチするJSONポリシードキュメントです。リソースベースポリシーの例としては、IAMロール信頼ポリシーや Amazon S3 バケットポリシーなどがあります。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーでは、プリンシパルを指定する必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができます AWS のサービス。

クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。リソースベースのポリシーにクロスアカウントのプリンシパルを追加しても、信頼関係は半分しか確立されない点に注意してください。プリンシパルとリソースが異なる場合 AWS アカウント、信頼されたアカウントのIAM管理者は、リソースへのアクセス許可をプリンシパルエンティティ (ユーザーまたはロール) に付与する必要もあります。IAM 管理者は、アイデンティティベースのポリシーをエンティティにアタッチすることで権限を付与します。ただし、リソースベースのポリシーで、同じアカウントのプリンシパルへのアクセス権が付与されている場合は、アイデンティティベースのポリシーをさらに付与する必要はありません。詳細については、「 IAMユーザーガイド」の「 でのクロスアカウントリソースアクセスIAM」を参照してください。

AWS WAF Classic のポリシーアクション

ポリシーアクションのサポート:あり

管理者はポリシーを使用して AWS JSON、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

JSON ポリシーの Action要素は、ポリシーでアクセスを許可または拒否するために使用できるアクションを記述します。ポリシーアクションの名前は通常、関連する AWS APIオペレーションと同じです。一致するAPIオペレーションがないアクセス許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは、依存アクションと呼ばれます。

このアクションは、関連付けられたオペレーションを実行するための権限を付与するポリシーで使用されます。

AWS WAF Classic アクションのリストを確認するには、「サービス認可リファレンス」の「 で定義されるアクション AWS WAF」およびAWS WAF 「リージョンで定義されるアクション」を参照してください。

AWS WAF Classic のポリシーアクションは、アクションの前に次のプレフィックスを使用します。

waf

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

"Action": [ "waf:action1", "waf:action2" ]

ワイルドカード (*) を使用すると、複数のアクションを指定することができます。たとえば、 で始まる AWS WAF Classic のすべてのアクションを指定するにはList、次のアクションを含めます。

"Action": "waf:List*"

AWS WAF Classic アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいAWS WAF Classic のアイデンティティベースのポリシーの例

AWS WAF Classic のポリシーリソース

ポリシーリソースのサポート: あり

管理者はポリシーを使用して AWS JSON、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

Policy ResourceJSON要素は、アクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource 要素を含める必要があります。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの許可と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。

"Resource": "*"

AWS WAF Classic リソースタイプとその のリストを確認するにはARNs、「サービス認可リファレンス」の「 で定義されるリソース AWS WAF」およびAWS WAF 「リージョンで定義されるリソース」を参照してください。各リソースARNの を指定できるアクションについては、「 で定義されるアクション AWS WAF」およびAWS WAF 「リージョンで定義されるアクション」を参照してください。 AWS WAF Classic リソースのサブセットへのアクセスを許可または拒否するには、ポリシーARNの resource要素にリソースの を含めます。

AWS WAF Classic では、リソースはウェブACLsルールです。 AWS WAF Classic はバイト一致IP 一致サイズ制約などの条件もサポートしています。

これらのリソースと条件には、次の表に示すように、一意の Amazon リソースネーム (ARNs) が関連付けられています。

AWS WAF コンソールの名前 / の名前 AWS WAF SDKCLI ARN 形式
ウェブ ACL WebACL

arn:aws:waf::account:webacl/ID

ルール Rule

arn:aws:waf::account:rule/ID

文字列一致条件 ByteMatchSet

arn:aws:waf::account:bytematchset/ID

SQL インジェクション一致条件 SqlInjectionMatchSet arn:aws:waf::account:sqlinjectionset/ID
サイズ制約条件 SizeConstraintSet arn:aws:waf::account:sizeconstraintset/ID
IP 一致条件 IPSet arn:aws:waf::account:ipset/ID
クロスサイトスクリプティング一致条件 XssMatchSet arn:aws:waf::account:xssmatchset/ID

AWS WAF Classic リソースのサブセットへのアクセスを許可または拒否するには、ポリシーARNの resource要素にリソースの を含めます。ARNs for AWS WAF Classic の形式は次のとおりです。

arn:aws:waf::account:resource/ID

accountresource、および ID変数を有効な値に置き換えます。有効な値は次のとおりです。

  • account: の ID AWS アカウント。値を指定する必要があります。

  • resource: AWS WAF Classic リソースのタイプ。

  • ID: AWS WAF Classic リソースの ID、またはワイルドカード (*)。指定した に関連付けられている指定したタイプのすべてのリソースを示します AWS アカウント。

例えば、次の例では、ACLsアカウント のすべてのウェブARNを指定します111122223333

arn:aws:waf::111122223333:webacl/*

AWS WAF Classic のポリシー条件キー

サービス固有のポリシー条件キーのサポート: あり

管理者はポリシーを使用して AWS JSON、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルが、どのリソースに対してどのような条件下でアクションを実行できるかということです。

Condition 要素 (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。Condition 要素はオプションです。イコールや未満などの条件演算子を使用して条件式を作成することで、ポリシーの条件とリクエスト内の値を一致させることができます。

1 つのステートメントに複数の Condition 要素を指定する場合、または 1 つの Condition 要素に複数のキーを指定する場合、 AWS では AND 論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理ORオペレーションを使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。

条件を指定する際にプレースホルダー変数も使用できます。たとえば、IAM ユーザー名でタグ付けされている場合のみ、リソースにアクセスする IAM ユーザーアクセス許可を付与できます。詳細については、IAMユーザーガイドの「 IAMポリシーエレメント: 変数およびタグ」を参照してください。

AWS は、グローバル条件キーとサービス固有の条件キーをサポートしています。すべての AWS グローバル条件キーを確認するには、「 IAMユーザーガイド」のAWS 「 グローバル条件コンテキストキー」を参照してください。

AWS WAF Classic 条件キーのリストを確認するには、「サービス認可リファレンス」の「Regional で定義される および リソースの条件キー AWS WAF」を参照してください。 AWS WAF条件キーを使用できるアクションとリソースについては、「 で定義されるアクション AWS WAF」およびAWS WAF 「リージョンで定義されるアクション」を参照してください。

AWS WAF Classic アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいAWS WAF Classic のアイデンティティベースのポリシーの例

ACLs AWS WAF Classic の

をサポートACLs: いいえ

アクセスコントロールリスト (ACLs) は、リソースへのアクセス許可を持つプリンシパル (アカウントメンバー、ユーザー、またはロール) を制御します。 ACLsは、ポリシードキュメント形式を使用しませんが、リソースベースのJSONポリシーと似ています。

ABAC AWS WAF Classic での

サポート ABAC (ポリシー内のタグ): 一部

属性ベースのアクセスコントロール (ABAC) は、属性に基づいてアクセス許可を定義する認可戦略です。では AWS、これらの属性はタグと呼ばれます。タグは、IAMエンティティ (ユーザーまたはロール) および多くの AWS リソースにアタッチできます。エンティティとリソースのタグ付けは、 の最初のステップですABAC。次に、プリンシパルのタグがアクセスしようとしているリソースのタグと一致する場合に、オペレーションを許可するABACポリシーを設計します。

ABAC は、急速に成長している環境や、ポリシー管理が煩雑になる状況で役立ちます。

タグに基づいてアクセスを管理するには、aws:ResourceTag/key-nameaws:RequestTag/key-name、または aws:TagKeys の条件キーを使用して、ポリシーの 条件要素でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値はありです。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「部分的」になります。

の詳細についてはABAC、「 IAMユーザーガイド」のABAC「認可によるアクセス許可の定義」を参照してください。をセットアップする手順を含むチュートリアルを表示するにはABAC、「 ユーザーガイド」の「属性ベースのアクセスコントロール (ABAC) を使用する」を参照してください。 IAM

AWS WAF Classic での一時的な認証情報の使用

一時的な認証情報のサポート: あり

一部の AWS のサービス は、一時的な認証情報を使用してサインインすると機能しません。一時的な認証情報と AWS のサービス 連携する などの詳細については、「 IAMユーザーガイド」のAWS のサービス 「 と連携する IAM 」を参照してください。

ユーザー名とパスワード以外の AWS Management Console 方法で にサインインする場合、一時的な認証情報を使用します。例えば、会社のシングルサインオン (SSO) リンク AWS を使用して にアクセスすると、そのプロセスによって一時的な認証情報が自動的に作成されます。また、ユーザーとしてコンソールにサインインしてからロールを切り替える場合も、一時的な認証情報が自動的に作成されます。ロールの切り替えの詳細については、「 IAMユーザーガイド」の「ユーザーから IAMロールへの切り替え (コンソール)」を参照してください。

一時的な認証情報は、 AWS CLI または を使用して手動で作成できます AWS API。その後、これらの一時的な認証情報を使用してアクセスすることができます AWS。 AWS では、長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成することをお勧めします。詳細については、「」の「一時的なセキュリティ認証情報IAM」を参照してください。

AWS WAF Classic の転送アクセスセッション

転送アクセスセッションをサポート (FAS): はい

IAM ユーザーまたはロールを使用して でアクションを実行すると AWS、プリンシパルと見なされます。一部のサービスを使用すると、別のサービスで別のアクションを開始するアクションを実行できます。 FASは、 を呼び出すプリンシパルのアクセス許可をリクエストと組み合わせて使用し AWS のサービス、ダウンストリームサービス AWS のサービス にリクエストを送信します。 FAS リクエストは、他の AWS のサービス またはリソースとのやり取りを完了する必要があるリクエストをサービスが受信した場合にのみ行われます。この場合、両方のアクションを実行するための権限が必要です。FAS リクエストを行う際のポリシーの詳細については、「転送アクセスセッション」を参照してください。

AWS WAF Classic のサービスロール

サービスロールのサポート: あり

サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける IAMロール です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、「 IAMユーザーガイド」の「 にアクセス許可を委任するロールを作成する AWS のサービス」を参照してください。

警告

サービスロールのアクセス許可を変更すると、 AWS WAF Classic の機能が破損する可能性があります。 AWS WAF Classic が指示する場合以外は、サービスロールを編集しないでください。

AWS WAF Classic のサービスにリンクされたロール

サービスリンクロールのサポート: あり

サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、 サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

AWS WAF Classic サービスにリンクされたロールの作成または管理の詳細については、「」を参照してくださいAWS WAF Classic のサービスにリンクされたロールの使用