翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS WAF ウェブ ACL をサービスに関連付ける
AWS WAF は、App Runner サービスを保護するために使用できるウェブアプリケーションファイアウォールです。 AWS WAF ウェブアクセスコントロールリスト (ウェブ ACLs) を使用すると、一般的なウェブエクスプロイトや不要なボットから App Runner サービスエンドポイントを保護できます。
ウェブ ACL を使用すると、App Runner サービスへのすべての受信ウェブリクエストをきめ細かく制御できます。ウェブ ACL でルールを定義して、ウェブトラフィックを許可、ブロック、またはモニタリングし、承認された正当なリクエストのみがウェブアプリケーションと APIs に到達するようにすることができます。特定のビジネスニーズとセキュリティニーズに基づいて、ウェブ ACL ルールをカスタマイズできます。ネットワーク ACLs「ネットワークトラフィックの制御」を参照してください。
重要
WAF ウェブ ACLs に関連付けられている App Runner プライベートサービスのソース IP ルールは、IP ベースのルールに準拠していません。これは、現在 WAF に関連付けられた App Runner プライベートサービスへのリクエストソース IP データの転送をサポートしていないためです。App Runner アプリケーションにソース IP/CIDR 受信トラフィックコントロールルールが必要な場合は、WAF ウェブ ACLs の代わりにプライベートエンドポイントのセキュリティグループルールを使用する必要があります。
受信ウェブリクエストフロー
AWS WAF ウェブ ACL が App Runner サービスに関連付けられている場合、受信ウェブリクエストは次のプロセスを実行します。
-
App Runner はオリジンリクエストの内容を に転送します AWS WAF。
-
AWS WAF はリクエストを検査し、その内容をウェブ ACL で指定したルールと比較します。
-
その検査に基づいて、 は App Runner に
allow
またはblock
レスポンス AWS WAF を返します。-
allow
レスポンスが返された場合、App Runner はリクエストをアプリケーションに転送します。 -
block
レスポンスが返されると、App Runner はリクエストがウェブアプリケーションに到達するのをブロックします。block
レスポンスを からアプリケーションに転送 AWS WAF します。注記
デフォルトでは、応答が返されない場合、App Runner はリクエストをブロックします AWS WAF。
-
AWS WAF ウェブ ACLs「ウェブアクセスコントロールリスト (ウェブ ACLs」を参照してください。 AWS WAF
注記
標準 AWS WAF 料金が発生します。App Runner サービスに AWS WAF ウェブ ACLs を使用しても、追加料金は発生しません。
料金の詳細については、AWS WAF 「
WAF ウェブ ACLs App Runner サービスに関連付ける
以下は、 AWS WAF ウェブ ACL を App Runner サービスに関連付ける大まかなプロセスです。
-
AWS WAF コンソールでウェブ ACL を作成します。詳細については、「 デベロッパーガイド」の「ウェブ ACL の作成」を参照してください。 AWS WAF
-
の AWS Identity and Access Management (IAM) アクセス許可を更新します AWS WAF。詳細については、「 アクセス許可」を参照してください。
-
次のいずれかの方法を使用して、ウェブ ACL を App Runner サービスに関連付けます。
-
App Runner コンソール: App Runner サービスを作成または更新するときに、App Runner コンソールを使用して既存のウェブ ACL を関連付けます。手順については、AWS WAF 「ウェブ ACLs」を参照してください。
-
AWS WAF コンソール: 既存の App Runner サービスの AWS WAF コンソールを使用してウェブ ACL を関連付けます。詳細については、「AWS WAF デベロッパーガイド」の「ウェブ ACL と AWS リソースの関連付けまたは関連付け解除」を参照してください。
-
AWS CLI: AWS WAF パブリック APIs。 AWS WAF パブリック APIsAssociateWebACL」を参照してください。 AWS WAF
-
考慮事項
-
WAF ウェブ ACLsルールは、IP ベースのルールに準拠していません。これは、現在 WAF に関連付けられた App Runner プライベートサービスへのリクエストソース IP データの転送をサポートしていないためです。App Runner アプリケーションにソース IP/CIDR 受信トラフィックコントロールルールが必要な場合は、WAF ウェブ ACLs の代わりにプライベートエンドポイントのセキュリティグループルールを使用する必要があります。
-
App Runner サービスは、1 つのウェブ ACL にのみ関連付けることができます。ただし、1 つのウェブ ACL を複数の App Runner サービスおよび複数の AWS リソースに関連付けることができます。例としては、Amazon Cognito ユーザープールや Application Load Balancer リソースなどがあります。
-
ウェブ ACL を作成すると、ウェブ ACL が完全に伝播され、App Runner で使用できるようになるまでに少し時間がかかります。伝播時間は数秒から数分までです。 は、完全に伝播される前にウェブ ACL を関連付けようと
WAFUnavailableEntityException
すると、 AWS WAF を返します。ウェブ ACL が完全に伝播される前にブラウザを更新したり、App Runner コンソールから移動したりすると、関連付けは実行されません。ただし、App Runner コンソール内を移動することはできます。
-
AWS WAF は、無効な状態にある App Runner サービスに対して次のいずれかの AWS WAF APIs を呼び出すと、
WAFNonexistentItemException
エラーを返します。-
AssociateWebACL
-
DisassociateWebACL
-
GetWebACLForResource
App Runner サービスの無効な状態は次のとおりです。
-
CREATE_FAILED
-
DELETE_FAILED
-
DELETED
-
OPERATION_IN_PROGRESS
注記
OPERATION_IN_PROGRESS
状態は、App Runner サービスが削除されている場合にのみ無効になります。
-
-
リクエストにより、 が検査 AWS WAF できる の制限を超えるペイロードが発生する可能性があります。が App Runner からのオーバーサイズリクエスト AWS WAF を処理する方法の詳細については、 AWS WAF デベロッパーガイドの「オーバーサイズリクエストコンポーネントの処理」を参照して、 が App Runner からのオーバーサイズリクエスト AWS WAF を処理する方法を確認してください。
-
適切なルールを設定しない場合やトラフィックパターンが変更された場合、ウェブ ACL はアプリケーションの保護にそれほど効果的ではない可能性があります。
アクセス許可
でウェブ ACL を使用するには AWS App Runner、次の IAM アクセス許可を追加します AWS WAF。
-
apprunner:ListAssociatedServicesForWebAcl
-
apprunner:DescribeWebAclForService
-
apprunner:AssociateWebAcl
-
apprunner:DisassociateWebAcl
IAM アクセス許可の詳細については、IAM ユーザーガイドの「IAM のポリシーとアクセス許可」を参照してください。
更新された IAM ポリシーの例を次に示します AWS WAF。この IAM ポリシーには、App Runner サービスを操作するために必要なアクセス許可が含まれています。
注記
IAM アクセス権限を付与する必要がありますが、リストされているアクションは権限のみで、API オペレーションには対応していません。