你可以将 Cloudflare 成员权限限定到单个 Gateway 流量策略和列表,而无需授予对每个 Gateway 资源的账户范围访问权限。例如,你可以让安全分析师管理一组特定的 HTTP 策略,同时不暴露 DNS 策略或账户级配置。
细粒度权限是与账户范围角色平行的一层,并不会取代后者。已经拥有账户级角色(如 Cloudflare Gateway 或 Cloudflare Zero Trust)的成员,仍对账户中的每个 Gateway 资源拥有写入权限。
Gateway 提供专用的账户级角色,可在整个账户范围内授予对特定资源类型的访问权限,而无需使用更宽泛的 Cloudflare Gateway 或 Cloudflare Zero Trust 角色。
| 角色 | 访问权限 |
|---|---|
| Zero Trust Gateway Read Only | 对所有 Gateway 资源的只读访问。 |
| Zero Trust Account Lists Admin | 对所有 Gateway 列表的完整创建、编辑和删除权限。 |
| Zero Trust DNS Location Admin | 对所有 DNS 位置的完整创建、编辑和删除权限。 |
| Zero Trust DNS Policies Admin | 对所有 DNS 策略的完整创建、编辑、删除和重新排序权限。 |
| Zero Trust HTTP Policies Admin | 对所有 HTTP 策略的完整创建、编辑、删除和重新排序权限。 |
| Zero Trust Network Policies Admin | 对所有网络策略的完整创建、编辑、删除和重新排序权限。 |
| Zero Trust Resolver Policies Admin | 对所有解析器策略的完整创建、编辑、删除和重新排序权限。 |
| Zero Trust Egress Policies Admin | 对所有出站(egress)策略的完整创建、编辑、删除和重新排序权限。 |
| Zero Trust Proxy Endpoints Admin | 对所有代理端点的完整创建、编辑和删除权限。 |
这些角色会出现在角色参考中。
除账户级角色外,你还可以向成员授予对特定单个策略或列表 的访问权限。例如,你可以允许团队成员编辑一条 HTTP 隔离策略,而不暴露账户中的其他策略。
资源范围角色覆盖对现有资源的读取和编辑权限。它们不授予创建新策略或列表的能力。要创建新资源,成员需要账户级角色。
Gateway 支持以下资源范围权限:
- 单个 Gateway 列表,允许成员编辑策略表达式中使用的特定列表。
- 单个 Gateway 策略,允许成员编辑特定流量策略。适用于所有策略系列:
- DNS 策略
- HTTP 策略(包括隔离策略)
- 网络策略
- 解析器策略
- 出站(egress)策略
对于针对特定 Gateway 策略或列表的任何 API 请求,如果主体满足以下任一 条件,则将被授予访问权限:
- 涵盖该资源的账户级角色(例如
Zero Trust HTTP Policies Admin、Cloudflare Gateway或Cloudflare Zero Trust),或者 - 绑定到该特定策略或列表的资源范围角色。
列表端点仅返回主体至少拥有读取权限的策略和列表。
细粒度权限通过标准成员管理流程进行分配。
- 在 Cloudflare 仪表板 ↗中,转到 Manage Account(管理账户) > Members(成员) 并选择 Invite Members(邀请成员),或打开现有成员以编辑其权限。
- 添加权限策略,并选择针对 Gateway 策略或列表的资源范围角色。
- 在 Scope(范围) 部分中,选择 Specific resources(特定资源)。
- 将 Resource type(资源类型) 设置为以下之一:
- Gateway policies(Gateway 策略),将访问范围限定到单个流量策略(DNS、HTTP、网络、解析器或出站)。
- Gateway lists(Gateway 列表),将访问范围限定到单个列表。
- 从资源选择器中选择一个或多个特定策略或列表。
- 保存策略。
你可以将多个细粒度策略附加到同一个成员,以便用不同角色覆盖不同的 Gateway 资源。
列表端点具有授权感知能力。当主体调用列表端点时,响应会过滤为他们至少具有读取访问权限的资源。
| 端点 | 方法 | 返回 |
|---|---|---|
/accounts/{account_id}/gateway/rules |
GET |
主体可以读取或管理的 Gateway 策略。 |
/accounts/{account_id}/gateway/lists |
GET |
主体可以读取或管理的 Gateway 列表。 |
拥有涵盖 Gateway 的账户级角色的成员,仍可看到账户中的所有资源。
隔离策略是带有 Isolate(隔离) 或 Do Not Isolate(不隔离) 操作的 Gateway HTTP 策略。所有 Gateway HTTP 策略权限同样适用于隔离策略,Browser Isolation 没有单独的权限面。
每条策略的设置(复制/粘贴、文件下载/上传、键盘、打印)属于 HTTP 策略对象的一部分,因此能编辑该策略的人也能编辑这些设置。
要委派特定隔离策略的管理权限,请为该条 HTTP 策略向成员授予资源范围角色。
- 现有的账户级角色和 API 令牌继续像以前一样工作。
- 使用账户级令牌进行身份验证的现有自动化(例如,使用
Cloudflare Gateway令牌的 Terraform 流水线)不受影响。 - 细粒度权限是可选加入的。向成员授予细粒度权限只会增加能力,绝不会移除该成员从账户级角色中已有的能力。