跳转到内容
搜索文档

细粒度权限

最后更新 查看 MarkdownAgent 设置

您可以将 Cloudflare 成员权限限制在单个 Cloudflare Tunnel 实例上,而不是授予账户范围的访问权限。这使您能够委派管理特定的 Tunnels — 例如,允许应用程序团队为其服务管理一个 Tunnel,而不暴露账户中的每个 Tunnel。

细粒度权限是账户级角色的并行层 — 它们并不替代这些角色。已经拥有诸如 Cloudflare Access 之类账户级角色的成员,仍将保留对账户中每个 Tunnel 的写访问权限。

工作原理

对于在特定 Cloudflare Tunnel 上的任何 API 请求,如果主体拥有以下其中一项,则授予访问权限:

  • 涵盖 Tunnels 的账户级角色(例如 Cloudflare Access),或
  • 绑定到该特定 Tunnel 的资源作用域角色。

列出端点(GET /accounts/{id}/cfd_tunnel,GET /accounts/{id}/teamnet/routes)仅返回主体至少具有读取权限的 Tunnels 和路由。

授予细粒度权限

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

  1. 在 Cloudflare 仪表板 ↗中,转到 Manage Account(管理账户) > Members(成员),然后选择 Invite Members(邀请成员),或打开现有成员以编辑其权限。
  2. 添加一个权限策略,并选择针对 Cloudflare Tunnel 实例的资源作用域角色。
  3. 在 Scope(范围) 部分,选择 Specific resources(特定资源)。
  4. 将 Resource type 设置为 Cloudflare Tunnel instances。
  5. 从资源选择器中选择一个或多个特定的 Tunnels。
  6. 保存策略。

您可以将多个细粒度策略附加到同一成员,以通过不同角色涵盖不同的 Tunnels。

资源枚举

列出端点可感知授权。当主体调用列出端点时,响应将过滤为主体至少具有读取权限的 Tunnels 和路由。

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

拥有涵盖 Tunnels 的账户级角色的成员将继续看到账户中的所有 Tunnels。

向后兼容性

  • 现有的账户级角色和 API 令牌将像以前一样继续运行。
  • 使用账户级令牌进行身份验证的现有自动化(例如,使用 Cloudflare Access 令牌的 Terraform 管道)不受影响。
  • 细粒度权限是选择性加入的。将其授予成员会增加权限;绝不会移除成员从账户级角色中已获得的权限。

相关资源

这篇文档对您有帮助吗?