客户端会话控制在使用 Cloudflare One Client(前身为 WARP)时,用户必须每隔多长时间向您的身份提供商 (IdP) 重新进行身份验证。与强制执行单一全局会话超时的旧版 VPN 不同,Cloudflare One 允许您按应用程序或按策略设置会话超时。您可以为您的 Access 应用程序 或作为 Gateway 策略 的一部分配置会话超时。
当用户访问受保护的应用程序或网站时,Cloudflare 将根据配置的会话超时检查其设备客户端会话持续时间。如果会话已过期,系统将提示用户向用于注册 Cloudflare One Client 的身份提供商 (IdP) 重新进行身份验证。

注意:此图片中的标签可能反映了以前的产品名称。
每当用户向 IdP 重新进行身份验证时,用户的设备客户端会话持续时间就会重置为零,而不管是什么触发了该身份验证事件。
确保流量能够通过 Cloudflare One Client 到达您的 IdP 和 <your-team-name>.cloudflareaccess.com。
您可以在任何具有 Allow 操作的 Gateway 网络和 HTTP 策略上强制执行设备客户端会话超时。如果您未指定会话超时,则默认情况下设备客户端会话将是不受限制的。
会话超时对 Gateway DNS 策略没有影响。即使用户需要重新进行身份验证,DNS 策略仍保持活动状态。
要为 Gateway 策略配置会话超时:
- 在 Cloudflare 仪表板 ↗ 中,前往 Zero Trust > Traffic policies(流量策略) > Firewall policies(防火墙策略)。选择 Network(网络) 或 HTTP。
- 添加一条策略并选择 Allow 操作。或者,选择任何现有的 Allow 策略。
- 在 Step 4 - Configure policy settings(步骤 4 - 配置策略设置) 下,选择 Enforce Cloudflare One Client session duration(强制执行 Cloudflare One Client 会话时长) 旁的 Edit(编辑)。
- 输入格式为
1h30m0s的会话过期时间,然后保存。 - 保存策略。
-
将以下权限添加到您的
cloudflare_api_token↗:Zero Trust Write
-
选择一个具有 Allow 操作的网络 (
l4) 或 HTTP (http) 策略。 -
在策略的
rule_settings↗ 中,使用check_session参数启用并配置会话超时:resource "cloudflare_zero_trust_gateway_policy" "network_allow_wiki_IPs" { name = "Company Wiki Network policy" enabled = true account_id = var.cloudflare_account_id description = "Managed by Terraform - Allow employees to access company wiki IPs." precedence = 103 action = "allow" filters = ["l4"] traffic = "net.dst.ip in ${"$"}${cloudflare_zero_trust_list.wiki_IPs.id}" identity = "identity.email matches \".*@example.com\"" rule_settings = { check_session = { enforce = true duration = "1h30m0s" } } }
受此策略保护的应用程序现已启用会话检查。用户可以继续访问该策略定义之外的应用程序。
您可以允许用户使用其设备客户端会话登录到 Access 应用程序。**Authenticate with Cloudflare One Client(通过 Cloudflare One Client 验证身份)**仅支持受 Allow(允许)或 Block(阻止)策略保护的 Access 应用程序。
要为 Access 应用程序配置设备客户端会话:
- 在 Cloudflare 仪表板 ↗中,转到 Zero Trust > Access controls(访问控制) > Access settings(Access 设置)。
- 启用 Authenticate with Cloudflare One Client(使用 Cloudflare One Client 进行身份验证)。
- 在 会话时长 下,选择会话超时值。此超时将应用于所有启用了 Authenticate with Cloudflare One Client 的 Access 应用程序。
- (可选)要默认对所有现有和新应用程序启用 Authenticate with Cloudflare One Client(使用 Cloudflare One Client 进行身份验证),请选择 Apply to all Access applications(应用到所有 Access 应用程序)。在创建或修改 Access 应用程序时,您可以针对每个应用程序覆盖此默认设置。
- 选择 Save(保存)。
用户现在可以使用 Cloudflare One Client 进行一次身份验证,并在配置的时间段内访问您的 Access 应用程序。当用户使用用于注册 Cloudflare One Client 的 IdP 重新验证身份时,会话计时器将重置。
如果用户与 IdP 之间存在活动浏览器会话,Cloudflare One Client 将使用现有的浏览器 Cookie 进行重新验证身份,并且不会提示用户重新输入其凭据。您可以覆盖此行为以要求在 IdP 中进行显式的用户交互。
若要手动刷新您的 Cloudflare Access 会话并从您的身份提供商 (IdP) 更新您的组信息,请在浏览器中访问以下 URL 并填写您的 团队名称:
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/refresh-identity
重新进行身份验证会重置您的 会话持续时间 并从组织的 IdP 获取最新的组信息。
-
每个设备仅限一个用户 — 如果设备已注册到用户 A,用户 B 将无法通过重新验证流程登录该设备。要将设备注册切换到其他用户,用户 A 必须先从 Zero Trust 注销(如果启用了允许设备离开组织),或者管理员可以在 Team & Resources(团队和资源) > Devices(设备) 中撤销该注册。然后,用户 B 才能正常注册。
-
活动连接不会终止 — 诸如 SSH 和 RDP 等活动会话在超出超时限制后仍将保持连接状态。
-
不支持绑定 Cookie - Authenticate with Cloudflare One Client 将无法用于启用了绑定 Cookie的 Access 应用程序。
- 连接状态 - 了解 Cloudflare One Client 在其连接过程中显示的状态消息,并了解客户端建立到 Cloudflare 的安全隧道时的每个阶段。