Cloudflare Zero Trust 团队接入配置步骤是什么?

文章导读
Cloudflare Zero Trust 团队接入配置主要通过 Dashboard 设置访问策略,结合 Cloudflare Tunnel 将身份提供商的用户组与具体应用绑定,适合需要保护内部 Web 服务且不暴露公网 IP 的场景。
📋 目录
  1. A 环境准备与客户端安装
  2. B 创建与配置 Cloudflare Tunnel
  3. C 配置 DNS 记录
  4. D 配置 Access 访问策略
  5. E 验证与排查
A A

Cloudflare Zero Trust 团队接入配置主要通过 Dashboard 设置访问策略,结合 Cloudflare Tunnel 将身份提供商的用户组与具体应用绑定,适合需要保护内部 Web 服务且不暴露公网 IP 的场景。

先说结论:配置核心在于先通身份源,再建应用策略,最后验证隧道连通性。

  • 适合:企业内部后台、开发测试环境或需要基于身份鉴权的公网服务。
  • 先准备:已验证的域名所有权、可用的身份提供商(如 Google Workspace、Azure AD 等)、安装 cloudflared 客户端。
  • 验收:未登录用户访问被拦截,授权用户可正常进入且 Zero Trust Dashboard 日志可查。

环境准备与客户端安装

在配置隧道前,需在本地或服务器安装 cloudflared 守护进程并完成认证。

1. 安装 cloudflared

macOS 使用 Homebrew:

brew install cloudflared

Linux 可直接下载二进制文件:

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb

2. 登录认证

执行登录命令,浏览器会弹出 Zero Trust Dashboard 授权页面,点击允许后返回终端:

cloudflared tunnel login

创建与配置 Cloudflare Tunnel

Tunnel 用于将内网服务安全暴露给 Cloudflare 边缘,无需开放公网端口。

1. 创建隧道

Cloudflare Zero Trust 团队接入配置步骤是什么?
cloudflared tunnel create <tunnel-name>

命令执行后会生成 Tunnel ID 和 credentials file(通常为 json 格式),请妥善保管。

2. 配置路由规则

创建 config.yml 文件,定义流量如何转发到本地服务。示例如下:

tunnel: <tunnel-name>
credentials-file: /root/.cloudflared/<tunnel-id>.json

ingress:
  - hostname: app.example.com
    service: http://localhost:8080
  - service: http_status:404

3. 启动隧道

cloudflared tunnel run <tunnel-name>

若需后台运行,可使用 service 管理或添加 `--run` 参数。

配置 DNS 记录

需在域名 DNS 服务商处添加 CNAME 记录,将子域名指向 Tunnel 地址。

  • 类型:CNAME
  • 名称:app(对应 app.example.com)
  • 内容:<tunnel-id>.cfargotunnel.com
  • 代理状态:无需开启橙色云朵(Tunnel 流量已加密)

注意:此处不是将 DNS 指向 Cloudflare 通用 IP,而是特定的 Tunnel 域名,否则流量无法回源。

配置 Access 访问策略

在 Zero Trust Dashboard 中限制谁能访问该域名。

Cloudflare Zero Trust 团队接入配置步骤是什么?

1. 添加身份提供商

进入 Settings > Authentication,连接 Google Workspace、Azure AD 或 GitHub 等 IdP,确保用户同步。

2. 创建用户组

进入 Access > Groups,创建组(如“开发团队”),规则可设为 Email Ends With @example.com 或特定邮箱。

3. 添加应用与策略

进入 Access > Applications > Add an application,选择 Self-hosted。

  • Domain:填写配置的 app.example.com
  • Session Duration:设置登录有效期

在 Policy 页面添加规则:

  • Action:Allow
  • Configure:选择刚才创建的“开发团队”组
  • Priority:确保 Allow 规则优先级高于默认 Deny

验证与排查

验证方法:

  1. 使用无痕模式访问 app.example.com,应跳转 Cloudflare 登录页。
  2. 使用授权账号登录,成功进入内网服务。
  3. 使用未授权账号登录,应看到 403 Forbidden 或拒绝访问提示。
  4. 在 Zero Trust Dashboard > Logs > Access Logs 中查看允许/拒绝记录。

常见坑:

  • DNS 配置错误:未配置 CNAME 指向 <tunnel-id>.cfargotunnel.com,导致 502 错误。
  • 身份源同步延迟:新建用户加入组后,需等待 IdP 同步或手动刷新。
  • 策略优先级冲突:若有多个策略,确保 Deny 规则不会误伤允许的用户组。
  • Tunnel 进程中断:生产环境建议使用 systemd 或 Docker 守护进程,避免手动运行退出。