CSRF トークンとカスタムサーブレットエンドポイントへのリクエストが AEMaaCS で 404 エラーを返す

CDN エッジ認証によってエッジでこれらのパスがブロックされている場合、Adobe Experience Manager as a Cloud Service(AEMaaCS)パブリッシュインスタンスで CSRF トークンとカスタムサーブレットエンドポイントへのリクエストが 404 エラーで失敗します。 この問題を解決するには、これらのエンドポイントの認証をバイパスするように CDN ルールを設定します。

説明 description

環境

  • 製品: Adobe Experience Manager as a Cloud Service(AEMaaCS)
  • シナリオ:CDN を使用して環境リクエストをシステムエンドポイントに公開する

問題/症状

  • /libs/granite/csrf/token.json へのリクエストは、パブリッシュ環境で 404 エラーを返します。
  • /bin 下のカスタムサーブレットエンドポイントも、パブリッシュでのみ 404 エラーを返します。
  • ローカル環境でも、オーサーインスタンスでも、同じリクエストがエラーなく成功します。
  • Dispatcher フィルターは、これらのエンドポイントを許可するように正しく設定されており、リクエストが Dispatcher またはパブリッシュ層に到達する前に問題が発生することを示しています。

解決策 resolution

問題を解決するには、次の手順に従います。

  1. CDN 設定を確認し、システムエンドポイントに適用されるエッジ認証ルール(/libs/granite/csrf/token.json の下の /bin およびカスタムサーブレットパスを含む)を特定します。
  2. エッジ認証がこれらのエンドポイントに適用されないように、影響を受ける環境の CDN ルールを更新し、CSRF トークンパスと必要なサーブレットルートのバイパスを明示的に設定します。
  3. 標準の検証と承認プロセスに従って、Cloud Manager配信パイプラインを通じて更新された CDN 設定をデプロイし、変更内容がターゲット環境に正常に適用されることを確認します。
  4. /libs/granite/csrf/token.json へのアクセスをテストし、完全な配信チェーンを通じて外部クライアントからカスタムサーブレットエンドポイントに影響を与えました。
  5. エンドポイントが、404 エラーではなく、HTTP 200 応答と予想されるペイロードを返すようになりました。

注意: 通常、CDN ルールを調整して問題を解決する場合、AEM権限の変更は必要ありません。 アクセス制御を変更する前に、常にセキュリティポリシーおよびガバナンスポリシーで検証してください。

関連資料

  • AEM as a Cloud Service ユーザーガイドの CDN
  • AEM as a Cloud Service チュートリアルの CSRF 対策 ​
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f