Composer 中的 ThingWorx 模型定義 > 安全性 > 內容安全性原則 > 配置內容安全性原則標題值
配置內容安全性原則標題值
CSP 標題值在「平台子系統」之「內容安全性原則規則」標籤的「平台子系統」中配置。
只有管理員可以存取「內容安全性原則規則」標籤。嘗試存取該標籤的非管理員會收到一則警告,指示只有管理員擁有存取權。
頁面最上方是「內容安全性原則指令」的簡短說明,以及「ThingWorx 說明中心」相關主題的連結。
如果未啟用 CSP,此處會顯示警告,而且會在進行變更之後警告管理員可能需要最多 1 分鐘變更才會生效。
顯示表格
此表格會顯示所有已配置的指令、其值及其指令描述。
「指令」「值」「描述」欄可排序。
表格上方的「篩選器」文字方塊可用來篩選指令、值與描述。
動作欄
動作欄最初將為空。新增及編輯指令時,圖示會填入動作欄,以協助編輯、回復及儲存變更。
「重設」- 選取時,會將指令重設為預設值。僅適用於預設指令。
「刪除」- 若選取,會刪除所選指令。只能刪除由管理員新增的指令。
指令欄
已配置的 CSP 指令,可控制允許在網頁中顯示的資源以及封鎖的資源。指令是預設項目與新增以支援特定應用程式之其他指令的組合。
值欄
指定指令的原則。通用值為 'self'。
描述欄
指令的簡短描述。只會顯示層級 2 指令的描述。層級 3 規格尚未完成,因此不會顯示描述。
新增指令
「新增」按鈕顯示在表格上方「篩選器」文字方塊旁邊。它可讓管理員新增指令。
選取後,「新增」按鈕會開啟「新指令」右側面板。
欲新增指令,請完成下列步驟:
1. 按一下「新增」以開啟「新指令」面板。
2. 「新指令」面板中,輸入下列資訊:
「指令」- 這是針對兩個規格進行驗證的有效 CSP 層級 2 或層級 3 指令名稱。管理員可以手動輸入有效的指令名稱,也可以按一下 來開啟包含所有有效層級 2 指令的對話方塊。層級 3 指令無法選取,但可以手動輸入。此欄位為必填。不允許重複的指令名稱。指令名稱限制為 100 個字元。
「允許的」- 這是必填值,但允許輸入空格以支援沒有值的某些指令。它們存在於整體 CSP 原則中可允許某些行為。會針對 CSP 程式庫驗證「允許的」值。驗證器會檢查關鍵字,並會篩選無效語法。不允許使用分號 (;),而且會阻止儲存指令。其他語法問題 (如冒號 (:)) 會產生警告;但是可以儲存指令。Composer 可讓管理員儲存無效值,因為它們可能在層級 3 中有效,但驗證器符合層級 2 標準。「允許的」值無效時,面板中會顯示錯誤訊息。
允許的字串限制為 1200 個字元,而且應該盡可能短。總計 CSP 原則 (所有指令加在一起) 限制為 1200 個字元。
3. 按一下核取標記以新增指令。
編輯指令
在表格中選取指令可開啟「編輯指令」視窗,管理員可以在其中編輯之前已存在的指令。
欲編輯指令,請完成下列步驟:
1. 選取指令以開啟「編輯指令」視窗。
2. 在「編輯指令」視窗中,輸入下列資訊:
「指令」- 正在編輯的指令名稱。唯讀。
「ThingWorx 所需」- ThingWorx 需要使用才能正常運作的指令。唯讀。
「允許的」- 要新增至預設指令的值。會針對例如遺失關鍵字、重複關鍵字及無效關鍵字這類的問題對 CSP 程式庫驗證允許的值。驗證器會檢查關鍵字,並會篩選無效語法。不允許使用分號 (;),會阻止儲存指令。其他語法問題 (如冒號 (:)) 會產生警告;但是可以儲存指令。Composer 可讓管理員儲存無效值,因為它們可能在層級 3 中有效,但驗證器符合層級 2 標準。當「允許的」值無效時,首次使用時會顯示錯誤訊息。
「值」- 最終指令值。這是「ThingWorx 所需」「允許的」這兩個欄位的組合。值字串限制為 1200 個字元,而且應該盡可能短。總計 CSP 原則 (所有指令加在一起) 限制為 1200 個字元。
* 
通常,預設設定與 「允許的」值會合併在一起,因此插入到 CSP 標題中的值包括預設值與「允許的」值。例如,frame-ancestors 預設為 'self'。如果管理員將 frame-ancestors 指令組態更新為包括 https://*.somedomain.com,則最終標題值為 'self' https://*.somedomain.com
欲將 object-src 設定為 'none',而非增加預設值的「允許的」值,「允許的」值會取代預設值。例如,object-src 的預設設定為 'self'。如果您將 object-src 更新為 https://*.somedomain.com,傳送至 CSP 的指令只會是 https://*.somedomain.com。如果您要包括 'self',則需要依照下列方式明確配置 object-src 以包括 'self''https://*.somedomain.com' 'self'
如果 object-src 組態包括 'none',它會取代其他任何設定。因此,'self' 'none' 是有效的 'none'.在需要引號的情況下,請使用單引號 ('),而不要使用雙引號 (")
* 
依預設,安裝時,frame-ancestor 設定為 'self'。如果已在 web.xml 及 ThingWorx 中配置「點擊劫持」篩選器,且發生了移轉至 CSP 的情形,則 frame-ancestor 會設定為 'self' 以及在「點擊劫持」篩選器中定義的允許清單。
儲存並執行 CSP 組態設定
按一下「儲存」可儲存對 CSP 組態所做的所有變更。ThingWorx 不需要執行其他步驟即可執行新原則。但是,在更新和使用 CSP 標題之前,會延遲多達 1 分鐘的時間。
評估您的 CSP
管理員可透過造訪 CSP Evaluator 來檢查其 CSP。欲執行此操作,請從瀏覽器的開發者工具複製 CSP 原則,並在 CSP Evaluator 中對其進行測試,步驟如下:
1. 在瀏覽器的開發者工具中開啟網路。
2. 重新整理瀏覽器的網頁。
3. 選取請求並開啟 Content-Security-Policy 標題。
4. 複製值並將其貼上到 CSP Evaluator 中。
5. CSP Evaluator 將會分析設定。
* 
Composer 需要針對使用 'unsafe-inline' 所配置之 'script-src''style-src' 配置的 'unsafe-eval''unsafe-inline'。在 ThingWorx 中無法變更這些設定。
這是否有幫助?