cdn.ymlを使用した特定のドメインへのCDN パイプラインルールのスコーピング

意図しないCDN ルールは、明示的にスコープが設定されていない場合、同じ環境内の他のドメインに影響を与える可能性があります。 この記事では、Adobe Experience Manager(AEM)Cloud ServiceのCDN パイプラインルールを、cdn.ymlにホスト条件を追加して、特定のドメインに制限する方法について説明します。

説明 description

環境

Adobe Experience Manager(AEM)Cloud Service

問題/症状

Cloud ManagerのCDN パイプラインをcdn.yml ファイル経由で使用して、下位環境(DEV)の従来のDynamic Media配信エンドポイントをブロックする場合。 次のYAML設定は、パス /adobe/dynamicmedia/deliver/に一致するリクエストをブロックし、410 Gone応答​を返します。

rules:
  - name: block-legacy-delivery-endpoint
    when:
      allOf:
        - reqProperty: path
          matches: /adobe/dynamicmedia/deliver(/.*)?$
    actions:
      - type: respond
        status: 410 reason: "Legacy Dynamic Media endpoint is deprecated"

このルールが環境内のすべての設定済みドメインに適用されるかどうか、および目的のVCR ドメインのみに影響するように制限する方法を確認する必要があります。

  • 従来のDynamic Media エンドポイントへのリクエストは、期待どおりにブロックされます。
  • OpenAPI Dynamic Media URLへのリクエストは、を通じて許可されます。
  • ルールが特定のドメインにのみ適用され、環境内のすべてのドメインに適用されないようにする必要があります。

原因

デフォルトでは、cdn.ymlのCDN ルールは、明示的にスコープが設定されていない限り、すべてのドメインに適用されます。 ホスト条件を追加すると、ルールが目的のドメインのみに影響します。

解決策 resolution

問題を修正するには:

  1. cdn.ymlの現在のCDN ルール設定を確認してください。

    • ルールは、パス /adobe/dynamicmedia/deliver/に基づいて要求と一致します。
    • デフォルトでは、このルールは、さらにスコープが設定されていない限り、環境内で設定されたすべてのドメインに適用されます。
  2. ルールを特定のドメインにスコープします。

    • ルールのwhen セクションにドメイン条件を追加します。
    • 次の構文の例を使用します。
    code language-none
    - name: block-legacy-delivery-endpoint
                        when:
                        allOf:
                            - reqProperty: host
                            matches: your-vcr-domain\.example\.com$
                            - reqProperty: path
                            matches: /adobe/dynamicmedia/deliver(/.*)?$
                        actions:
                        - type: respond
                            status: 410
                            reason: "Legacy Dynamic Media endpoint is deprecated"
    
    • your-vcr-domain.example.comを、ドメイン設定で設定された実際のドメイン名に置き換えます。
  3. 更新されたcdn.yml設定をCloud Managerを使用してデプロイします。

    • リポジトリに変更をコミットしてプッシュします。
    • Cloud Manager パイプラインを通じてデプロイして、ルールを適用します。
  4. ターゲット環境でルールを検証します。

    • スコープ対象ドメインのレガシーエンドポイントへのリクエストをテストして、ブロックされていることを確認します。
    • 他のドメイン上の同じエンドポイントへのリクエストをテストして、それらが影響を受けないことを確認します。
    • OpenAPI Dynamic Media URLに影響がないことを確認します。
recommendation-more-help
experience-cloud-kcs-help-kbarticles