跳转到内容
搜索文档

设备配置文件

最后更新 查看 MarkdownAgent 设置

设备配置文件为组织中的特定设备集定义了 Cloudflare One 客户端设置。您可以创建多个配置文件,并根据用户身份、设备位置和其他条件应用不同的设置。

例如,同一个身份提供程序组(代表特定的办公地点)中的用户可能拥有需要从其 WARP 隧道中排除的不同路由,或者某些设备类型(例如 Linux)可能需要不同的 DNS 设置以适应本地开发服务。

创建新配置文件

  1. Cloudflare 仪表板中,转到 Zero Trust > Team & Resources(团队和资源) > Devices(设备) > Device profiles(设备配置文件) > General profiles(常规配置文件)
  2. 选择 Create new profile(创建新配置文件)。这将复制 Default(默认) 配置文件。
  3. 输入配置文件的任意名称。
  4. 创建规则以定义将使用此配置文件的设备。详细了解可用的选择器运算符
  5. 为这些设备配置设备客户端设置
  1. 选择 Create profile(创建配置文件)

您的配置文件将显示在 Profile settings(配置文件设置) 列表中。您可以根据所需的优先级顺序在列表中重新排列配置文件。

Devices API 发送 POST 请求:

Required API token permissions

At least one of the following token permissions is required:
  • Zero Trust Write
Create a device settings profilebash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/devices/policy" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"allow_mode_switch": false,
		"allow_updates": false,
		"allowed_to_leave": false,
		"auto_connect": 600,
		"captive_portal": 180,
		"description": "Example device profile recommended in the implementation documentation. For details, refer to https://developers.cloudflare.com/learning-paths/replace-vpn/configure-device-agent/device-profiles/",
		"disable_auto_fallback": true,
		"enabled": true,
		"exclude_office_ips": false,
		"match": "identity.email in {\"[email protected]\"} or any(identity.groups.name[*] in {\"developers\" \"admin\"}) and os.name == \"windows\"",
		"name": "Example device profile",
		"precedence": 101,
		"service_mode_v2": {
				"mode": "warp"
		},
		"support_url": "https://support.example.com",
		"switch_locked": true
	}'
  1. 向您的 cloudflare_api_token 添加以下权限:

    • Zero Trust 写入
  2. 使用 cloudflare_zero_trust_device_custom_profile 资源创建一个新配置文件:

    resource "cloudflare_zero_trust_device_custom_profile" "example" {
    	account_id            = var.cloudflare_account_id
    	name                  = "Example device profile"
    	description           = "Example device profile recommended in the implementation documentation. For details, refer to https://developers.cloudflare.com/learning-paths/replace-vpn/configure-device-agent/device-profiles/"
    	allow_mode_switch     = false
    	allow_updates         = false
    	allowed_to_leave      = false
    	auto_connect          = 600
    	captive_portal        = 180
    	disable_auto_fallback = true
    	enabled               = true
    	exclude_office_ips    = false
    	precedence            = 101
    	service_mode_v2       = {mode = "warp"}
    	support_url           = "https://support.example.com"
    	switch_locked         = true
    	tunnel_protocol       = "wireguard"
    
    	match = trimspace(replace(<<-EOT
    		identity.email in {"[email protected]"}
    		or any(identity.groups.name[*] in {"developers" "admin"})
    		and os.name == "windows"
    	EOT
    	, "\n", " "))
    }

编辑配置文件设置

  1. Cloudflare 仪表板中,转到 Zero Trust > Team & Resources(团队和资源) > Devices(设备) > Device profiles(设备配置文件) > General profiles(常规配置文件)

  2. 找到您要更新的设备配置文件并选择 Configure(配置)

  3. 根据需要使用选择器来添加或调整匹配规则,并修改此配置文件的设备客户端设置

  4. 选择 Save profile(保存配置文件)

新更新的设置可能需要多达 10 分钟才能传播到设备。

验证设备配置文件

通过仪表板

要验证特定设备最后活动的设备配置文件:

  1. Cloudflare 仪表板中,转到 Zero Trust > Team & Resources(团队和资源) > Devices(设备)
  2. 在设备下,找到您的设备。
  3. 检查 Last active device profile(最后活动设备配置文件) 下的设备配置文件。

要验证用户设备的最后活动设备配置文件:

  1. Cloudflare 仪表板中,转到 Zero Trust > Team & Resources(团队和资源) > Users(用户)
  2. Username(用户名) 下,找到您要调查的用户。
  3. 选择 Devices(设备) 以查看该用户使用的所有设备。
  4. 找到您要调查的设备,并在 Device profile(设备配置文件) 列下验证该设备的最后活动设备配置文件。

或者,您可以使用 DEX 远程捕获来收集客户端诊断日志。设备配置文件的 UUID 将显示在您的检测报告中的 Profile ID 下。

通过 CLI

要检查当前设备上使用的是哪个设备配置文件和配置文件设置,请打开终端并运行:

warp-cli settings

设备配置文件的 UUID 将显示在 Profile ID 字段中。

选择器

您可以配置设备配置文件以匹配以下选择器或标准。仅当用户通过登录身份提供商 (IdP) 注册设备时,基于身份的选择器才可用。

用户电子邮件

根据用户的电子邮件应用设备配置文件。

UI 名称 API 示例值
User email identity.email == "[email protected]"

用户组电子邮件

根据用户在 IdP 中被配置为成员的 IdP 组电子邮件地址应用设备配置文件。

UI 名称 API 示例
User group emails identity.groups.email == "[email protected]"

用户组 ID

根据用户在 IdP 中被配置为成员的 IdP 组 ID 应用设备配置文件。

UI 名称 API 示例
User group IDs identity.groups.id == "12jf495bhjd7893ml09o"

用户组名称

根据用户在 IdP 中被配置为成员的 IdP 组名称应用设备配置文件。

UI 名称 API 示例
User group names identity.groups.name == "\"finance\""

操作系统

根据设备的操作系统应用设备配置文件。

UI 名称 API 示例
操作系统 os.name in {\"windows\" \"mac\"}

操作系统版本

根据设备的 OS 版本应用设备配置文件。

UI 名称 API 示例
操作系统版本 os.version == \"1.2.0\"

托管网络

根据设备连接到的托管网络应用设备配置文件。

UI 名称 API 示例
托管网络 network == \"Austin office\"

SAML 属性

根据来自 SAML IdP 的属性名称和值应用设备配置文件。

UI 名称 API 示例
SAML Attributes(SAML 属性) identity.saml_attributes == "\"group=finance\""

服务令牌

根据用于注册设备的服务令牌应用设备配置文件。

UI 名称 API 示例
服务令牌 identity.service_token_uuid == \"f174e90a-fafe-4643-bbbc-4a0ed4fc8415\"

运算符

运算符决定了设备配置文件如何匹配选择器。

运算符 含义
is 等于定义的值
in 匹配至少一个定义的值

逻辑运算符

要在表达式中评估多个条件,请选择一个逻辑运算符:

运算符 含义
And 匹配表达式中的所有条件
Or(或) 匹配表达式中的任一条件

优先级顺序

Cloudflare One 客户端根据层次结构动态评估设备配置文件。当设备连接时,客户端自上而下检查在仪表板中显示的配置文件。客户端遵循首次匹配原则——一旦设备匹配了某个配置文件,客户端将停止评估,后续任何配置文件都无法覆盖该决定。

Default(默认) 配置文件始终位于列表底部。只有当设备不满足其上方列出的任何配置文件的条件时,它才会被应用。如果您将另一个自定义配置文件设为默认值,所有设置都将复制到 Default(默认) 配置文件中。

管理员可以创建多个配置文件,根据特定条件(例如用户身份、位置或操作系统)应用不同的设置。理解这种自上而下的评估顺序对于确保向设备应用正确的策略至关重要。

这篇文档对您有帮助吗?