AWS WAF のサービスにリンクされたロールの使用
このセクションでは、サービスにリンクされたロールを使用して AWS WAF に AWS アカウント内のリソースへのアクセス権限を付与する方法について説明します。
AWS WAF では AWS Identity and Access Management (IAM) のサービスリンクロールを使用します。サービスリンクロールは、AWS WAF に直接リンクされた一意のタイプの IAM ロールです。サービスリンクロールは、AWS WAF による事前定義済みのロールであり、ユーザーに代わってサービスから他の AWS のサービスを呼び出すために必要なすべての権限を備えています。
サービスにリンクされたロールを使用すると、必要な許可を手動で追加する必要がなくなるため、AWS WAF の設定が簡単になります。AWS WAF は、このサービスにリンクされたロールの許可を定義します。特に定義されている場合を除き、AWS WAF のみがそのロールを引き受けることができます。定義された許可には、信頼ポリシーと許可ポリシーが含まれます。この許可ポリシーを他の IAM エンティティにアタッチすることはできません。
サービスにリンクされたロールを削除するには、まずそのロールの関連リソースを削除します。これにより、リソースへの意図しないアクセスによる許可の削除が防止され、AWS WAF リソースは保護されます。
サービスにリンクされたロールをサポートする他のサービスについては、IAM と連携する AWS のサービスを参照して、Service-Linked Role] (サービスにリンクされたロール)列で Yes] (はい) のあるサービスを探してください。そのサービスに関するサービスにリンクされたロールのドキュメントを表示するには、リンクが設定されている Yes] (はい) を選択します。
AWS WAF のサービスリンクロールのアクセス許可
AWS WAF はサービスにリンクされたロール AWSServiceRoleForWAFV2Logging
を使用して、ログを Amazon Data Firehose に書き込みます。このロールは、AWS WAF でログインを有効にしている場合にのみ使用されます。ログ作成の詳細については、「AWS WAF のウェブ ACL トラフィックのログ記録」を参照してください。
このサービスにリンクされたロールは、AWS のマネージドポリシー WAFV2LoggingServiceRolePolicy
にアタッチされています。管理ポリシーの詳細については、「AWS マネージドポリシー: WAFV2LoggingServiceRolePolicy」を参照してください。
AWSServiceRoleForWAFV2Logging
サービスにリンクされたロールは、ロール wafv2.amazonaws.com
を引き受けるためにサービスを信頼します。
ロールの許可ポリシーは、指定したリソースに対して次のアクションを実行することを AWS WAF に許可します。
-
Amazon Data Firehose のアクション:
aws-waf-logs-
で始まる名前を持つPutRecord
およびPutRecordBatch
は Firehose データストリームリソースに対するアクション。例えば、aws-waf-logs-us-east-2-analytics
と指定します。 -
AWS Organizations アクション: Organizationsの組織リソースに対する
DescribeOrganization
。
IAM コンソールのサービスにリンクされたロール全体を参照してください: AWSServiceRoleForWAFV2Logging
サービスリンクロールの作成、編集、削除を IAM エンティティ (ユーザー、グループ、ロールなど) に許可するには、アクセス許可を設定する必要があります。詳細については、IAM ユーザーガイドのサービスにリンクされたロールの許可を参照してください。
AWS WAF のサービスリンクロールの作成
サービスにリンクされたロールを手動で作成する必要はありません。AWS Management Console で AWS WAF ログ作成を有効にする、または AWS WAF CLI または AWS WAF API で PutLoggingConfiguration
リクエストを作成する場合、AWS WAF は自動的にサービスにリンクされたロールを作成します。
ログ記録を有効化するためには、iam:CreateServiceLinkedRole
許可が必要です。
このサービスにリンクされたロールを削除した後で再度作成する必要が生じた場合は、同じ方法でアカウントにロールを再作成できます。AWS WAF ログ記録を有効にすると、AWS WAF により、サービスにリンクされたロールが再度作成されます。
AWS WAF のサービスにリンクされたロールの編集
AWS WAF では、AWSServiceRoleForWAFV2Logging
のサービスにリンクされたロールを編集することはできません。サービスにリンクされたロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用したロール記述の編集はできます。詳細については、「IAM ユーザーガイド」の「サービスにリンクされたロールの編集」を参照してください。
AWS WAF のサービスリンクロールの削除
サービスリンクロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスにリンクされたロールのリソースをクリーンアップする必要があります。
注記
リソースを削除する際に、AWS WAF のサービスでロールが使用されている場合、削除は失敗することがあります。失敗した場合は、数分待ってから操作を再試行してください。
AWSServiceRoleForWAFV2Logging
で使用されている AWS WAF リソースを削除するには
-
AWS WAF コンソールで、すべてのウェブ ACL からログ記録を削除します。詳細については、「AWS WAF のウェブ ACL トラフィックのログ記録」を参照してください。
-
API または CLI を使用して、ログ記録が有効化されている各ウェブ ACL に
DeleteLoggingConfiguration
リクエストを送信します。詳細については、「AWS WAF API リファレンス」を参照してください。
IAM を使用して、サービスにリンクされたロールを手動で削除するには
AWSServiceRoleForWAFV2Logging
サービスにリンクされたロールを削除するには、IAM コンソール、IAM CLI、または IAM API を使用します。詳細については、「IAM ユーザーガイド」の「サービスにリンクされたロールの削除」を参照してください。
AWS WAF のサービスにリンクされたロールをサポートするリージョン
AWS WAF は、サービスを利用できるすべてのリージョンで、サービスにリンクされたロールの使用をサポートします。詳細については、「AWS WAF エンドポイントとクォータ」を参照してください。