Cloudflare 推出 Workers 資源級權限:代理營運稽核指南

四把權限鑰匙連接中央運算節點與彼此隔離的網際網路邊緣服務

Cloudflare 於 2026 年 9 月 15 日宣布為 Workers 提供資源級存取控制。這次更新新增 Metadata Read-Only、Content Read-Only、Editor 與 Admin 四類角色,並可套用於 Developer Platform、特定產品或單一 Worker。所有客戶都能透過控制台、API 與 Terraform 使用。

這項改變與代理營運密切相關:邊緣程式經常參與請求正規化、路由、可觀測性與憑證處理。只需查看指標的人不應同時取得原始碼;部署管線也不應能刪除其他 Worker。新模型更容易表達這些界線,但團隊仍須把角色對應到真實任務,並驗證「應該被拒絕」的路徑。

四類角色如何分工

角色主要能力代理營運情境
Metadata Read-Only查看清單、設定與可觀測資料,但不讀取原始內容值班人員檢查延遲、錯誤、日誌與追蹤
Content Read-Only讀取內容或程式碼,但不能修改審閱請求正規化 Worker 的稽核人員
Editor讀取並更新內容與設定,但不能建立或刪除資源僅向一個 Worker 部署核准版本的 CI
Admin包含建立、重新命名、刪除與授權在內的完整控制受限的緊急管理帳號

這些角色可縮小到單一 Worker。Cloudflare 的範例指出,CI/CD 可僅取得某個 Worker 的 Editor 權限,因此能部署,但不能刪除該 Worker,也不能修改其他 Worker。

先盤點所有存取主體

列出能接觸邊緣平台的人員、服務帳號、智慧代理、CI 工作與 API Token。為每個主體記錄負責人、業務目的、目標 Worker、允許動作、到期或複核日期,以及撤權方法。

不要因身分名稱不清楚就授予寬泛角色。應先重新命名或替換含義模糊的憑證。部署、監控與緊急管理共用一個 Token,會破壞稽核歸因,也會讓撤權造成更大影響。

部署工具需要組合代理驗證值時,可參考代理憑證編碼驗證指南。儲存庫端的防洩漏措施可搭配GitHub 代理密鑰阻擋更新

依動作選擇最窄角色

從實際動作出發,而不是從職稱出發:

  1. 只需指標與追蹤的值班觀察者,優先給予目標 Worker 的 Metadata Read-Only。
  2. 只有必須檢查原始碼時,才給程式碼審閱者 Content Read-Only。
  3. 部署工作只取得其負責 Worker 的 Editor。
  4. Admin 僅保留給極少數、受監控的緊急路徑。
  5. 臨時事件權限必須設定期限,並實際驗證到期後已失效。

不要為了「以後可能需要」疊加角色。工作流程確實需要兩項權限時,應記錄原因並分別測試。

將程式部署與路由變更分開

Cloudflare 指出,自訂網域與路由變更同時需要 Worker 的 Editor 權限,以及相關 Zone 的 Workers Routes 權限。這種拆分很重要:修改程式與決定流量去向是兩個不同的風險決策。

日常部署身分不應修改正式路由。路由或自訂網域變更應採獨立核准,並把 Zone 權限限制在最小範圍。變更後既要確認 Worker 版本,也要驗證公開路由。程式上傳成功不代表流量已進入預期版本。

可參考代理市場容錯移轉驗收測試,用小流量驗證避免把單一區域問題放大為全球切換。

把密鑰視為獨立控制面

資源級角色能減少不必要的存取,但不能讓已外洩的密鑰變安全。代理使用者名稱、密碼、Token 與端點憑證應存放在核准的密鑰機制中,禁止寫入 Worker 原始碼、建置產物、指令歷史、分析維度或日誌。

可觀測紀錄不應包含完整 Authorization 標頭、Cookie、代理 URL 或穩定工作階段識別碼。匯出前應雜湊或遮蔽,並依營運需求設定保留期限。

驗證拒絕路徑

權限策略不能只靠一次成功部署證明。應在非正式環境確認:

  • Metadata Read-Only 能查看允許的遙測,但不能取得原始碼;
  • Content Read-Only 能審閱程式,但不能發布版本;
  • Editor 能更新指定 Worker,但不能刪除它;
  • 僅作用於 Worker A 的身分無法查看或修改 Worker B;
  • 沒有 Workers Routes 權限的部署身分無法變更路由;
  • 已撤銷或過期的權限及時失敗,並產生可歸因的稽核事件。

Cloudflare 表示,API 授權錯誤現在會提供相關權限文件提示,而不只有通用 403。它適合診斷,不應觸發自動提權。缺少權限也可能表示工作流程正在執行不該執行的動作。

以小範圍驗證遷移舊權限

Cloudflare 尚未淘汰舊權限,但建議遷移到新角色。不要一次替換所有身分。先選一個低風險 Worker,建立窄範圍身分,執行讀取、部署與拒絕測試,再觀察完整營運週期。

記錄新舊策略、負責人、回復條件與移除日期。新角色證明足夠後,應撤銷舊授權,避免兩套權限長期並存。可先從唯讀監控開始,再逐步涵蓋部署與管理。

稽核檢查清單

  • 每位人員、代理、CI 工作與 Token 都有明確負責人。
  • 每個主體都限制到最小 Worker 或產品範圍。
  • 監控、程式碼審閱、部署與管理使用獨立身分。
  • 一般 CI 儘量使用 Editor,而不是 Admin。
  • 路由變更需要獨立 Zone 權限與核准。
  • 代理憑證不進入原始碼、建置產物或日誌。
  • 成功與拒絕測試都有紀錄。
  • 臨時權限的到期與撤權路徑經過驗證。
  • 小範圍遷移成功後移除舊授權。
  • 授權錯誤觸發複核,而不是自動擴權。

常見問題

Editor 能讓 CI 刪除 Worker 嗎?

不能。Cloudflare 將 Editor 定義為可更新內容與設定,但不能建立或刪除資源。仍應在非正式環境驗證實際行為。

Metadata Read-Only 是否足夠用於事件回應?

對只需設定、指標、日誌與追蹤的觀察者,它是適合的預設角色。只有任務確實需要查看或修改程式時才升級。

Worker 權限是否自動包含路由變更?

不包含。Cloudflare 指出,路由與自訂網域還需要對應 Zone 的 Workers Routes 權限。

自動化是否應依 403 提示申請更高權限?

不應。先比較嘗試動作與核准工作流程,再由負責人判斷是動作錯誤或策略需要調整。

合規說明

僅對組織擁有或獲授權管理的帳戶與邊緣資源實施存取控制。遵守內部核准、稽核、保留與區域資料要求。不得利用代理基礎設施或受限身分繞過服務控制、隱藏未授權存取或未經許可蒐集資料。