Cloudflare
連接
Polylane調查並解釋問題,永遠不會變更你帳戶中的任何東西。
從終端機連接Cloudflare。傳入--help可查看Cloudflare接受的旗標,在無瀏覽器環境中再加上--no-browser。
polylane cloud connect --provider cloudflare帳戶擁有的唯讀API權杖。
Cloudflare以帳戶擁有的唯讀API權杖連接。Polylane調查並解釋它的發現,永遠不會變更你帳戶中的任何東西;當修復是程式碼時,它會以pull request的形式送到你面前供你審查。你的權杖在儲存前會先加密,代理永遠看不到它。
設定
- 點擊上方的Create read-only token,或主控台連接表單中的Create API token。兩者都會開啟Cloudflare的帳戶API權杖畫面,並預先選好Polylane需要的每個權限。
- 選擇要連接的帳戶。你必須是該帳戶的Super Administrator才能建立帳戶擁有的權杖。
- 檢視預先填好的權限,然後點擊Continue to summary與Create Token。
- 複製權杖並貼回Polylane。
- Polylane驗證權杖並開始同步。
要完整探索資源,你必須使用Workers Paid plan。
權限
預先設定好的連結會建立一個帳戶擁有的權杖:一個持久的服務主體,即使建立它的人離開帳戶也會繼續運作。每個權限都是唯讀的,涵蓋整個帳戶:
- Developer Platform:Workers、KV、R2、D1、Queues、Pipelines、Hyperdrive、Durable Objects、Containers、Secrets Store、Artifacts等
- AI & Machine Learning:Workers AI、AI Gateway、AutoRAG、Vectorize、AI Search
- DNS & Zones:DNS、區域設定、註冊商、DNS防火牆
- Network Services:Load Balancing、Magic Transit/WAN、Spectrum、通道
- App Security:WAF、規則集、DDoS、機器人管理、頁面規則、憑證
- Cache、Email、Media、Rules、Analytics & Logs
權杖中沒有任何東西能在你的帳戶中建立、修改或刪除任何東西:沒有部署、沒有設定變更、沒有復原、沒有帳務或API權杖管理。修復改以pull request的形式送達。
中斷連接
在Polylane中斷該帳戶的連接,然後在你的Cloudflare儀表板的My Profile → API Tokens(帳戶擁有的權杖則在Manage Account → API Tokens)底下撤銷該API權杖。
從CI工作或任何其他沒有瀏覽器的環境連接Cloudflare。
連接Cloudflare不需要瀏覽器:主控台呼叫的同一個端點可以放進CI工作。一次經過驗證的POST建立連接並開始第一次同步。
先決條件
- 一把具有
cloud_accounts:write與cloud_accounts:read範圍的Polylane API金鑰。請見API金鑰與OAuth。 - 你的工作區ID,以
ws_開頭。用同一把金鑰從GET /v1/workspaces讀取它。 - 一個Cloudflare帳戶擁有的API權杖。上方的Create read-only token連結會預先選好Polylane需要的每個權限。
建立連接
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "cloudflare",
"workspaceId": "ws_0abc123",
"token": "<cloudflare-api-token>",
"readOnly": true
}'
一次呼叫會連接該權杖能觸及的每個Cloudflare帳戶,每個帳戶各自成為一個連接。
readOnly記錄該權杖是以唯讀方式建立的;對於可以寫入的權杖,省略它(或設為false)。createMonitoringAlarms(可選,預設true)控制預設的Workers可觀測性警示。
回應列出已連接的內容,第一次同步已在執行。精簡為流程其餘部分會讀取的兩個欄位:
{
"success": true,
"result": {
"provider": "cloudflare",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
已經連接的帳戶會落在failures而不是accounts中,所以重複呼叫永遠不會重複建立連接。
等待第一次同步
依id輪詢每個回傳的帳戶,直到status達到ready(註冊時為new,資源串流進來時為syncing):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
給這個迴圈一個期限,讓失敗的連接讓工作失敗,而不是掛住它。帳戶為ready後,它的資源就在拓樸中,Polylane也已開始第一次檢查。
從API中斷連接
刪除連接會停止所有同步與檢查,並刪除Polylane持有的憑證。這個呼叫需要cloud_accounts:delete範圍:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
然後如下方中斷連接一節所述,在供應商端撤銷Cloudflare憑證。
中斷連接
中斷連接會停止所有同步與檢查,並刪除Polylane持有的憑證。 Polylane在Cloudflare中建立的一切也會一併移除;不會留下任何東西。
polylane cloud disconnect <id>工具
14代理可以在對話串中執行的操作。
支援的資源
47會出現在你基礎設施圖中的資源類型。