Cloudflare
接続
Polylaneは、アカウント内の何も変更することなくイシューを調査し説明します。
ターミナルからCloudflareを接続します。Cloudflareが受け付けるフラグは--helpで確認でき、ヘッドレス環境では--no-browserを追加します。
polylane cloud connect --provider cloudflareアカウント所有の読み取り専用APIトークンです。
Cloudflareは、アカウント所有の読み取り専用APIトークンで接続します。Polylaneはアカウント内の何も変更することなく、調査して見つけたことを説明します。修正がコードである場合は、レビューできるプルリクエストとして届きます。トークンは保存前に暗号化され、エージェントが目にすることはありません。
セットアップ
- 上のCreate read-only token、またはコンソールの接続フォームのCreate API tokenをクリックします。どちらも、Polylaneが必要とするすべての権限が事前に選択された状態でCloudflareのアカウントAPIトークン画面を開きます。
- 接続したいアカウントを選択します。アカウント所有のトークンを作成するには、そのアカウントの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トークンの管理もできません。修復は代わりにプルリクエストとして届きます。
接続解除
Polylaneでアカウントを接続解除し、次にCloudflareダッシュボードのMy Profile → API Tokens(アカウント所有のトークンの場合はManage Account → API Tokens)でAPIトークンを取り消します。
CIジョブや、ブラウザーのないその他の環境からCloudflareを接続します。
Cloudflareの接続にブラウザーは必要ありません。コンソールが呼び出すのと同じエンドポイントがCIジョブに収まります。認証済みのPOSTを1回行うと、接続が作成され、最初の同期が始まります。
前提条件
cloud_accounts:writeとcloud_accounts:readスコープを持つPolylane APIキー。APIキーとOAuthを参照してください。ws_で始まるワークスペースID。同じキーで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
}'
1回の呼び出しで、トークンが到達できるすべてのCloudflareアカウントが、それぞれ独自の接続として接続されます。
readOnlyは、トークンが読み取り専用で作成されたことを記録します。書き込みできるトークンの場合は省略する(またはfalseにする)。createMonitoringAlarms(任意、既定はtrue)は、既定のWorkersオブザーバビリティアラートを制御します。
応答は接続されたものを一覧し、最初の同期はすでに実行中です。フローの残りが読む2つのフィールドに絞ると次のとおりです。
{
"success": true,
"result": {
"provider": "cloudflare",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
すでに接続されているアカウントはaccountsではなくfailuresに入るため、呼び出しを繰り返しても接続が重複することはありません。
最初の同期を待つ
返された各アカウントを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"
次に、下のDisconnectで説明されているとおり、プロバイダー側でCloudflareの認証情報を取り消します。
接続解除
接続解除すると、すべての同期とチェックが停止し、Polylaneが保持していた認証情報が削除されます。 PolylaneがCloudflareにセットアップしたものもすべて取り除かれ、何も残りません。
polylane cloud disconnect <id>ツール
14エージェントがスレッドで実行できる操作です。
対応リソース
47インフラグラフに表示されるリソースの種類です。