跳转到内容
搜索文档

Tunnel 和 Mesh 节点的细粒度权限

最后更新 查看 MarkdownAgent 设置

您可以将 Cloudflare 成员权限范围限制为单个 Cloudflare Tunnel 实例和 Cloudflare Mesh 节点,而不是授予对每个 Tunnel 和 Mesh 节点的整个账户访问权限。这实现了针对私有网络操作的最小特权委派 —— 例如,允许支持操作员从单个 Tunnel 流式传输日志,而不会暴露您账户的其余部分。

细粒度权限是与账户范围角色平行的层 —— 它们不会取代后者。已经拥有账户级角色(如 Cloudflare AccessCloudflare Zero Trust)的成员继续对账户中的每个 Tunnel 和 Mesh 节点拥有写入权限。

工作原理

对于针对特定 Tunnel 或 Mesh 节点的任何 API 请求,如果主体满足以下任一条件,则将被授予访问权限:

  • 涵盖该资源的账户级角色(例如 Cloudflare AccessCloudflare Zero Trust),或者
  • 绑定(binding)到该特定 Tunnel 或 Mesh 节点的资源范围角色

资源列举终结点GET /accounts/{id}/cfd_tunnelGET /accounts/{id}/warp_connector)仅返回主体至少具有读取访问权限的资源。

授予细粒度权限

细粒度权限通过标准成员管理流程进行分配。

  1. Cloudflare 仪表板中,转到 Manage Account(管理账户) > Members(成员) 并选择 Invite members(邀请成员),或打开现有成员以编辑其权限。
  2. 添加权限策略并选择针对 Tunnel 或 Mesh 节点的资源范围角色
  3. Scope(范围) 部分中,选择 Specific resources(特定资源)
  4. Resource type(资源类型) 设置为以下之一:
  5. 从资源选择器中选择一个或多个特定的 Tunnel 或 Mesh 节点。
  6. 保存策略。

您可以将多个细粒度策略附加到同一个成员,以便用不同的角色覆盖不同的 Tunnel 和 Mesh 节点。

资源列举

列表终结点具有授权感知能力。当主体调用列表终结点时,响应将过滤为他们至少具有读取访问权限的资源。

终结点 方法 返回
/accounts/{account_id}/cfd_tunnel GET 主体可以读取或管理的 Cloudflare Tunnel 实例。
/accounts/{account_id}/warp_connector GET 主体可以读取或管理的 Cloudflare Mesh 节点。
/accounts/{account_id}/teamnet/routes GET 附加到主体可以读取或管理的 Tunnel 的路由。

拥有涵盖 Tunnel 和 Mesh 的账户级角色的成员继续可以看到账户中的所有资源。

向后兼容性

  • 现有的账户级角色和 API 令牌继续像以前一样发挥作用。
  • 使用账户级令牌进行身份验证的现有自动化(例如,使用 Cloudflare Access 令牌的 Terraform 流水线)不受影响。
  • 细粒度权限是可选的(opt-in)。向成员授予细粒度权限会增加其功能,但绝不会移除该成员从账户级角色中已有的功能。

相关资源

这篇文档对您有帮助吗?