選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

管理 AWS WAF Web ACLs

焦點模式
管理 AWS WAF Web ACLs - AWS App Runner

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用下列其中一種方法來管理 App Runner 服務的 AWS WAF Web ACLs:

App Runner 主控台

當您在 App Runner 主控台上建立服務或更新現有的服務時,您可以關聯或取消與 AWS WAF Web ACL 的關聯。

注意
  • App Runner 服務只能與一個 Web ACL 建立關聯。不過,除了其他 AWS 資源之外,您還可以將一個 Web ACL 與多個 App Runner 服務建立關聯。

  • 建立 Web ACL 關聯之前,請務必更新 的 IAM 許可 AWS WAF。如需詳細資訊,請參閱 許可

關聯 AWS WAF Web ACL

重要

與 WAF Web ACLs 相關聯的 App Runner 私有服務的來源 IP 規則不遵守以 IP 為基礎的規則。這是因為我們目前不支援將請求來源 IP 資料轉送至與 WAF 相關聯的 App Runner 私有服務。如果您的 App Runner 應用程式需要來源 IP/CIDR 傳入流量控制規則,您必須對私有端點使用安全群組規則,而不是 WAF Web ACLs。

建立 AWS WAF Web ACL 的關聯
  1. 開啟 App Runner 主控台,然後在區域清單中選取您的 AWS 區域。

  2. 根據您是要建立或更新服務,請執行下列其中一個步驟:

    • 如果您要建立新的服務,請選擇建立 App Runner 服務,然後前往設定服務

    • 如果您要更新現有的服務,請選擇組態索引標籤,然後選擇設定服務下的編輯

  3. 前往安全下的 Web 應用程式防火牆

  4. 選擇啟用切換按鈕以檢視選項。

    App Runner 主控台配置,顯示 Web Application Firewall 選項。
  5. 執行下列步驟之一:

    • 若要建立現有 Web ACL 的關聯:從選擇要與您的 App Runner 服務建立關聯的 Web ACL 資料表中選擇所需的 Web ACL

    • 若要建立新的 Web ACL:選擇建立 Web ACL,以使用 AWS WAF 主控台建立新的 Web ACL。如需詳細資訊,請參閱《 AWS WAF 開發人員指南》中的建立 Web ACL

      1. 選擇重新整理按鈕,即可在選擇 Web ACL 資料表中檢視新建立的 Web ACL

      2. 選取所需的 Web ACL。

  6. 如果您要建立新服務,請選擇下一步,如果您要更新現有服務,請選擇儲存變更。選取的 Web ACL 與您的 App Runner 服務相關聯。

  7. 若要驗證 Web ACL 關聯,請選擇服務的組態索引標籤,然後前往設定服務。捲動至安全下的 Web 應用程式防火牆,以檢視與您的服務相關聯的 Web ACL 詳細資訊。

    注意

    當您建立 Web ACL 時,在 Web ACL 完全傳播並可供 App Runner 使用之前,會經過一小段時間。傳播時間可以是幾秒鐘到幾分鐘。當您嘗試在 Web ACL 完全傳播之前建立關聯WAFUnavailableEntityException時, 會 AWS WAF 傳回 。

    如果您在 Web ACL 完全傳播之前重新整理瀏覽器或離開 App Runner 主控台,則關聯會失敗。不過,您可以在 App Runner 主控台內導覽。

取消與 AWS WAF Web ACL 的關聯

您可以更新 App Runner 服務,取消不再需要的 AWS WAF Web ACl 關聯。

取消與 AWS WAF Web ACl 的關聯
  1. 開啟 App Runner 主控台,然後在區域清單中選取您的 AWS 區域。

  2. 前往您要更新之服務的組態索引標籤,然後在設定服務下選擇編輯

  3. 前往安全下的 Web 應用程式防火牆

  4. 停用啟用切換按鈕。您會收到確認刪除的訊息。

  5. 選擇確認。Web ACL 與您的 App Runner 服務取消關聯。

    注意
    • 如果您想要將服務與其他 Web ACL 建立關聯,請從選擇 Web ACL 資料表中選取 Web ACL。App Runner 會取消目前 Web ACL 的關聯,並啟動與所選 Web ACL 建立關聯的程序。

    • 如果沒有其他 App Runner 服務或資源使用取消關聯的 Web ACL,請考慮刪除 Web ACL。否則,您將繼續產生成本。如需定價的詳細資訊,請參閱AWS WAF 定價。如需有關如何刪除 Web ACL 的說明,請參閱 AWS WAF API 參考中的 DeleteWebACL

    • 您無法刪除與其他作用中 App Runner 服務或其他資源相關聯的 Web ACL。

AWS CLI

您可以使用 AWS WAF 公有 APIs 來關聯或取消關聯 AWS WAF Web ACL。您要與 Web ACL 建立關聯或取消關聯的 App Runner 服務必須處於有效狀態。

AWS WAF 當您呼叫下列其中一個 AWS WAF APIs來取得處於無效狀態的 App Runner 服務時, 會傳回WAFNonexistentItemException錯誤:

  • AssociateWebACL

  • DisassociateWebACL

  • GetWebACLForResource

App Runner 服務的無效狀態包括:

  • CREATE_FAILED

  • DELETE_FAILED

  • DELETED

  • OPERATION_IN_PROGRESS

    注意

    OPERATION_IN_PROGRESS 只有在刪除您的 App Runner 服務時,狀態才會無效。

如需 AWS WAF 公有 APIs的詳細資訊,請參閱 AWS WAF API 參考指南

注意

更新 的 IAM 許可 AWS WAF。如需詳細資訊,請參閱 許可

使用 建立 AWS WAF Web ACL 的關聯 AWS CLI

重要

與 WAF Web ACLs 相關聯的 App Runner 私有服務的來源 IP 規則不遵守以 IP 為基礎的規則。這是因為我們目前不支援將請求來源 IP 資料轉送至與 WAF 相關聯的 App Runner 私有服務。如果您的 App Runner 應用程式需要來源 IP/CIDR 傳入流量控制規則,您必須對私有端點使用安全群組規則,而不是 WAF Web ACLs。

建立 AWS WAF Web ACL 的關聯
  1. 使用您偏好的規則動作集來建立服務的 AWS WAF Web ACLBlockAllow或為您的服務建立 Web 請求。如需 AWS WAF APIs的詳細資訊,請參閱 AWS WAF API 參考指南中的 CreateWebACL

    範例 建立 Web ACL - 請求
    aws wafv2 create-web-acl --region <region> --name <web-acl-name> --scope REGIONAL --default-action Allow={} --visibility-config <file-name.json> # This is the file containing the WAF web ACL rules.
  2. 使用associate-web-acl AWS WAF 公有 API,將您建立的 Web ACL 與 App Runner 服務建立關聯。如需 AWS WAF APIs的詳細資訊,請參閱 AWS WAF API 參考指南中的 AssociateWebACL

    注意

    當您建立 Web ACL 時,在 Web ACL 完全傳播並可供 App Runner 使用之前,會經過一小段時間。傳播時間可以是幾秒鐘到幾分鐘。當您嘗試在 Web ACL 完全傳播之前建立關聯WAFUnavailableEntityException時, 會 AWS WAF 傳回 。

    如果您在 Web ACL 完全傳播之前重新整理瀏覽器或離開 App Runner 主控台,則關聯會失敗。不過,您可以在 App Runner 主控台內導覽。

    範例 關聯 Web ACL - 請求
    aws wafv2 associate-web-acl --resource-arn <apprunner_service_arn> --web-acl-arn <web_acl_arn> --region <region>
  3. 使用get-web-acl-for-resource AWS WAF 公有 API 確認 Web ACL 與您的 App Runner 服務相關聯。如需 AWS WAF APIs的詳細資訊,請參閱 API AWS WAF 參考指南中的 GetWebACLForResource

    範例 驗證資源的 Web ACL - 請求
    aws wafv2 get-web-acl-for-resource --resource-arn <apprunner_service_arn> --region <region>

    如果沒有與您服務相關聯的 Web ACLs,您會收到空白回應。

使用 刪除 AWS WAF Web ACL AWS CLI

如果 AWS WAF Web ACL 與 App Runner 服務相關聯,則無法刪除。

刪除 AWS WAF Web ACL
  1. 使用disassociate-web-acl AWS WAF 公有 API 取消 Web ACL 與 App Runner 服務的關聯。如需 AWS WAF APIs的詳細資訊,請參閱 API AWS WAF 參考指南中的 DisassociateWebACL

    範例 取消與 Web ACL 的關聯 - 請求
    aws wafv2 disassociate-web-acl --resource-arn <apprunner_service_arn> --region <region>
  2. 使用get-web-acl-for-resource AWS WAF 公有 API 確認 Web ACL 已與您的 App Runner 服務取消關聯。

    範例 確認 Web ACL 已解除關聯 - 請求
    aws wafv2 get-web-acl-for-resource --resource-arn <apprunner_service_arn> --region <region>

    取消關聯的 Web ACL 不會列出您的 App Runner 服務。如果沒有與您服務相關聯的 Web ACLs,您會收到空白回應。

  3. 使用delete-web-acl AWS WAF 公有 API 刪除取消關聯的 Web ACL。如需 AWS WAF APIs的詳細資訊,請參閱 API AWS WAF 參考指南中的 DeleteWebACL

    範例 刪除 Web ACL - 請求
    aws wafv2 delete-web-acl --name <web_acl_name> --scope REGIONAL --id <web_acl_id> --lock-token <web_acl_lock_token> --region <region>
  4. 確認 Web ACL 已使用list-web-acl AWS WAF 公有 API 刪除。如需 AWS WAF APIs的詳細資訊,請參閱 AWS WAF API 參考指南中的 ListWebACLs

    範例 確認 Web ACL 已刪除 - 請求
    aws wafv2 list-web-acls --scope REGIONAL --region <region>

    刪除的 Web ACL 不會再列出。

    注意

    如果 Web ACL 與其他作用中的 App Runner 服務或其他資源相關聯,例如 Amazon Cognito 使用者集區,則無法刪除 Web ACL。

列出與 Web ACL 相關聯的 App Runner 服務

Web ACL 可以與多個 App Runner 服務和其他資源建立關聯。使用list-resources-for-web-acl AWS WAF 公有 API 列出與 Web ACL 相關聯的 App Runner 服務。如需 AWS WAF APIs的詳細資訊,請參閱 AWS WAF API 參考指南中的 ListResourcesForWebACL

範例 列出與 Web ACL 相關聯的 App Runner 服務 - 請求
aws wafv2 list-resources-for-web-acl --web-acl-arn <WEB_ACL_ARN> --resource-type APP_RUNNER_SERVICE --region <REGION>
範例 列出與 Web ACL 相關聯的 App Runner 服務 - 回應

下列範例說明當沒有 App Runner 服務與 Web ACL 相關聯時的回應。

{ "ResourceArns": [] }
範例 列出與 Web ACL 相關聯的 App Runner 服務 - 回應

下列範例說明當有 App Runner 服務與 Web ACL 相關聯時的回應。

{ "ResourceArns": [ "arn:aws:apprunner:<region>:<aws_account_id>:service/<service_name>/<service_id>" ] }

測試和記錄 AWS WAF Web ACLs

當您將規則動作設定為 Web ACL 中的計數時, 會將請求 AWS WAF 新增至符合規則的請求計數。若要使用 App Runner 服務測試 Web ACL,請將規則動作設定為計數,並考慮符合每個規則的請求量。例如,您可以為符合大量請求Block的動作設定規則,而這些請求是您確定為正常使用者流量。在這種情況下,您可能需要重新設定規則。如需詳細資訊,請參閱《 AWS WAF 開發人員指南》中的測試和調校您的 AWS WAF 保護

您也可以設定 AWS WAF 將請求標頭記錄到 Amazon CloudWatch Logs 日誌群組、Amazon Simple Storage Service (Amazon S3) 儲存貯體或 Amazon Data Firehose。如需詳細資訊,請參閱《AWS WAF 開發人員指南》中的記錄 Web ACL 流量

若要存取與 App Runner 服務相關聯的 Web ACL 相關日誌,請參閱下列日誌欄位:

  • httpSourceName:包含 APPRUNNER

  • httpSourceId:包含 customeraccountid-apprunnerserviceid

如需詳細資訊,請參閱《 AWS WAF 開發人員指南》中的日誌範例

重要

與 WAF Web ACLs 相關聯的 App Runner 私有服務的來源 IP 規則不遵守以 IP 為基礎的規則。這是因為我們目前不支援將請求來源 IP 資料轉送至與 WAF 相關聯的 App Runner 私有服務。如果您的 App Runner 應用程式需要來源 IP/CIDR 傳入流量控制規則,您必須對私有端點使用安全群組規則,而不是 WAF Web ACLs。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。