跳转到内容
搜索文档

细粒度权限

最后更新 查看 MarkdownAgent 设置

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

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

工作原理

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

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

列出端点GET /accounts/{id}/cfd_tunnelGET /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 管道)不受影响。
  • 细粒度权限是选择性加入的。将其授予成员会增加权限;绝不会移除成员从账户级角色中已获得的权限。

相关资源

这篇文档对您有帮助吗?