Cloudflare
连接
Polylane调查并解释问题,绝不更改你账户中的任何东西。
从终端连接Cloudflare。传入--help查看Cloudflare接受的标志,在无头环境中再加上--no-browser。
polylane cloud connect --provider cloudflare账户所有的只读API令牌。
Cloudflare通过一个账户所有的只读API令牌连接。Polylane调查并解释它的发现,绝不更改你账户中的任何东西;当修复是代码时,它以拉取请求的形式到达,供你审查。你的令牌在存储前加密,智能体永远看不到它。
设置
- 点击上方的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令牌管理。补救措施改以拉取请求的形式到达。
断开连接
在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"
然后按下方Disconnect所述在提供商侧撤销Cloudflare凭据。
断开连接
断开连接会停止所有同步和检查,并删除Polylane持有的凭据。 Polylane在Cloudflare中设置的一切也会被移除;不会留下任何东西。
polylane cloud disconnect <id>工具
14智能体可以在线程中执行的操作。
支持的资源
47会出现在你的基础设施图中的资源类型。