設定內容安全政策

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

為入口網站中的所有網頁設定內容安全政策 (CSP),防範跨網站指令碼 (XSS) 和其他程式碼植入攻擊。CSP 會定義指令碼、樣式和圖片等內容的信任來源。設定政策之後,瀏覽器就會封鎖從不受信任的來源載入的內容。

CSP 會以 Content-Security-Policy HTTP 回應標頭的形式,新增至入口網站中的所有網頁,如下所示:

Content-Security-Policy: policy

您可以使用指令定義政策,如 W3C 網站的「 內容安全政策指令」一文所述。

啟用 CSP 標頭後,系統預設會定義下列 CSP 指令:

default-src 'unsafe-eval' 'unsafe-inline' * data:

default-src 指令會為未設定指令的資源類型設定預設政策。

下表說明預設指令中定義的政策。

政策 存取
'unsafe-inline' 內嵌資源,例如內嵌 <script> 元素、javascript: 網址、內嵌事件處理常式和內嵌 <style> 元素。注意:政策必須以單引號括住。
'unsafe-eval' 不安全的動態程式碼評估,例如 JavaScript eval() 和類似方法,用於從字串建立程式碼。注意:政策必須以單引號括住。
* (wildcard) data:blob:filesystem: 架構以外的任何網址。
data: 透過資料配置載入的資源 (例如 Base64 編碼的圖片)。

以下範例說明如何設定 CSP,限制特定資源類型。

政策 存取
default-src 'none' 如果資源類型沒有已設定的指令,就無法存取。
img-src * 來自任何來源的圖片網址。
media-src https://example.com/ 來自 example.com 網域的 HTTPS 影片或音訊網址。
script-src *.example.com example.com 的子網域執行任何指令碼。
style-src 'self' css.example.com 套用網站來源或 css.example.com 網域的任何樣式。

如要設定內容安全政策,請按照下列步驟操作:

Cloud 控制台 UI

  1. 在 Apigee in Cloud 控制台中,前往「Distribution」>「Portals」頁面。

    前往入口網站

  2. 按一下入口網站。

  3. 按一下導覽選單中的「設定」

  4. 按一下 [Security] (安全性) 分頁標籤。

  5. 按一下「啟用內容安全政策」

  6. 設定 CSP 或保留預設值。

  7. 按一下 [儲存]

傳統版 UI

  1. 依序選取「發布」>「入口網站」,然後選取您的入口網站。
  2. 在頂端導覽列的下拉式選單中選取「設定」
  3. 或者,按一下入口網站到達網頁上的「設定」
  4. 按一下 [Security] (安全性) 分頁標籤。
  5. 按一下「啟用內容安全政策」
  6. 設定 CSP 或保留預設值。
  7. 按一下 [儲存]

如要隨時還原預設 CSP 政策,請按一下「還原預設值」