AEM中的內容安全性原則設定衝突

嚴格的內容安全性原則(CSP)規則經常會中斷AEM作者UI、觸發有關遺失CSP標頭的掃描器警告,或在CSP套用於作者和發佈環境時導致部署問題。 在Dispatcher或CDN層上設定CSP、將作者環境排除在嚴格原則之外,並僅在需要時套用CSP。

說明 description

環境

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • AEM Managed Services
  • Adobe Developer App Builder

問題/症狀

  • 無法載入作者UI工具列、元件或iframe。
  • 安全性掃描器報告登入頁面上遺失CSP標題。
  • 套用限制性CSP指示(例如default-src ‘self’)後,網站停止運作。
  • 限制unsafe-inline或unsafe-eval的CSP指令會導致UI失敗。
  • 沒有可用的內建CSP報表端點。

原因

AEM不提供全面的CSP立即可用支援。 許多核心使用者端程式庫取決於內嵌JavaScript以及不符合嚴格CSP原則的行為。 全域套用CSP可能會無意中影響作者環境。 CSP Nonce預設不會產生,且需要自訂實施。 依預設,登入頁面也不包含CSP標頭。

解決方法 resolution

若要解決此問題,請遵循下列步驟:

  1. 識別CSP標題的設定位置,例如CDN、Dispatcher或反向Proxy層。
  2. 對製作和發佈環境使用單獨的主機名稱。
  3. 從製作環境移除或劐免CSP標頭,以防止製作介面失敗。
  4. 僅將CSP套用至發佈環境。
  5. 如果需要更嚴格的原則,請使用網域白名單或實施自訂Nonce解決方案。
  6. 如需報告,請將CSP報告端點託管於平台以外。
  7. 在最外層的層級套用CSP (例如CDN或反向Proxy),以一致地強制執行。
  8. 只有在需要滿足安全性掃描要求時,才將CSP標頭新增到登入頁面。
  9. 確認所需資源載入成功且沒有發生嚴重CSP違規,以驗證設定。

相關閱讀

recommendation-more-help
experience-cloud-kcs-help-kbarticles