通过 Cloudflare One,您可以创建 URL、主机名或其他条目的列表,以便在创建 Gateway 策略或 Access 策略时进行引用。这允许您快速创建可同时匹配并对多个项执行操作的规则。
在创建列表之前,请注意限制。
列表可以分别包含单一类型的数据。受支持的数据类型包括:
- URL
- 主机名或域
- 序列号
- 用户电子邮件地址
- IP 地址
- 设备 ID 号
- AAGUID(由 Access 独立 MFA 使用,用于限制用户可以注册的 WebAuthn 身份验证器)
要测试上传 CSV 列表,您可以下载 IP 地址范围的示例 CSV 文件,或将以下内容复制到文件中:
value,description
192.0.2.0/24,This is an IP address range in CIDR format
198.51.100.0/24,This is also an IP address range
203.0.113.0/24,This is the third IP address range格式化要上传的 CSV 文件时:
- 每行应为一个包含值和可选说明的单一条目。
- 必须包含表头行,以便 Zero Trust 识别说明。
- 不允许有尾随空格字符。
- CRLF(Windows)和 LF(Unix)换行符均有效。
要将列表上传到 Cloudflare 仪表板:
- 在 Cloudflare 仪表板 ↗中,转到 Zero Trust > Reusable components(可重用组件) > Lists(列表)。
- 选择 Upload CSV(上传 CSV)。
- 接下来,指定 List name(列表名称),输入可选说明,然后选择 List type(列表类型)。
- 将文件拖放到 CSV file(CSV 文件) 窗口中,或选择一个文件。
- 选择 Create(创建)。
-
向您的
cloudflare_api_token↗ 添加以下权限:Zero Trust Write
-
解码 CSV 文件的内容并将其存储为本地值:
locals { ip_list = csvdecode(file("${path.module}/list-test.csv")) } -
使用
cloudflare_zero_trust_list↗ 资源创建列表:resource "cloudflare_zero_trust_list" "ips_from_csv" { account_id = var.cloudflare_account_id name = "IPs imported from CSV" description = "Managed by Terraform" type = "IP" items = local.ip_list }
您现在可以通过选择 in list 运算符在策略生成器中使用此列表。
- 在 Cloudflare 仪表板 ↗中,转到 Zero Trust > Reusable components(可重用组件) > Lists(列表)。
- 选择 Create a manual list(创建手动列表)。
- 接下来,指定 List name(列表名称),输入可选说明,然后选择 List type(列表类型)。
- 在 Add items(添加条目) 字段中手动输入您的列表元素,然后选择 Add(添加)。
- 选择 Save(保存)。
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/lists" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"description": "Private application IPs",
"items": [
{
"value": "10.226.0.177/32"
},
{
"value": "10.226.1.177/32"
}
],
"name": "Corporate IP list",
"type": "IP"
}'-
向您的
cloudflare_api_token↗ 添加以下权限:Zero Trust Write
-
使用
cloudflare_zero_trust_list↗ 资源创建列表。IP 列表示例:
resource "cloudflare_zero_trust_list" "wiki_IPs" { account_id = var.cloudflare_account_id name = "Company Wiki IP addresses" description = "Managed by Terraform" type = "IP" items = [ { description = "Example IP address range" value = "192.0.2.0/24", }, { value = "198.51.100.0/24" } ] }域列表示例:
resource "cloudflare_zero_trust_list" "wiki_domains" { account_id = var.cloudflare_account_id name = "Company Wiki Domains" description = "Managed by Terraform" type = "DOMAIN" items = [ { value = "wiki.example.com" }, { value = "wiki2.example.com" }] }
您现在可以通过选择 in list 运算符在策略生成器中使用此列表。
-
在 Lists(列表) 页面中,找到您想要编辑的列表。
-
选择 Edit(编辑)。这将允许您:
- 选择列表名称右侧的三点菜单来编辑列表的名称和描述。
- 选择列表名称右侧的三点菜单来删除列表。
- 删除单个条目。
- 手动向列表中添加条目。
-
编辑好列表后,选择 Save(保存)。
对于标准(Standard)计划,您的列表最多可包含 1,000 个条目;对于企业(Enterprise)计划,最多可包含 5,000 个条目。上传的 CSV 文件必须小于 2 MB。
主机名列表不支持通配符条目(*.example.com)。您需要将域添加为精确匹配。在保存由主机名组成的列表时,向其中添加通配符将返回错误。
Gateway 通过将所有域和主机名转换为 Punycode ↗ 来支持非拉丁字符。一旦您保存了带有非拉丁字符的列表,Gateway 会将条目显示为 Punycode。
列表不能有重复条目。因为域和主机名会被转换为 Punycode,所以转换后为相同字符串的多个列表条目将被视为重复。例如,éxàmple.com 会转换为 xn—xmple-rqa5d.com,因此在列表中同时包含 éxàmple.com 和 xn—xmple-rqa5d.com 将导致重复错误。
Gateway 会忽略 URL 中的尾随正斜杠(/)。例如,https://example.com 和 https://example.com/ 将被视为同一个 URL,并可能返回重复错误。
扩展电子邮件地址(也称为加号地址)是使用 + 或 . 修饰符的现有电子邮件地址的变体。许多电子邮件提供商(例如 Gmail 和 Outlook)会将发往扩展地址的电子邮件投递到其原始地址。例如,提供商会将发送给 contact+123@example.com 或 con.tact@example.com 的电子邮件投递到 contact@example.com。
默认情况下,Gateway 将根据所使用的策略和操作类型,仅过滤精确匹配或过滤所有扩展变体:
DNS 策略
| 操作 | 行为 |
|---|---|
| 允许 (Allow) | 仅匹配精确地址 |
| 拦截 (Block) | 匹配精确地址和所有变体 |
| 覆盖 (Override) | 匹配精确地址和所有变体 |
| 安全搜索 (Safe Search) | 匹配精确地址和所有变体 |
| YouTube 受限模式 (YouTube Restricted) | 匹配精确地址和所有变体 |
网络策略
| 操作 | 行为 |
|---|---|
| 允许 (Allow) | 仅匹配精确地址 |
| 审计 SSH (Audit SSH) | 匹配精确地址和所有变体 |
| 拦截 (Block) | 匹配精确地址和所有变体 |
| 网络覆盖 (Network Override) | 仅匹配精确地址 |
HTTP 策略
| 操作 | 行为 |
|---|---|
| 允许 (Allow) | 仅匹配精确地址 |
| 拦截 (Block) | 匹配精确地址和所有变体 |
| 不检查 (Do Not Inspect) | 仅匹配精确地址 |
| 不隔离 (Do Not Isolate) | 仅匹配精确地址 |
| 不扫描 (Do Not Scan) | 仅匹配精确地址 |
| 隔离 (Isolate) | 匹配精确地址和所有变体 |
其他策略
| 策略类型 | 行为 |
|---|---|
| 出站策略 (Egress policy) | 仅匹配精确地址 |
| 解析器策略 (Resolver policy) | 仅匹配精确地址 |
要强制 Gateway 匹配所有电子邮件地址变体,请转到 Traffic policies(流量策略) > Traffic settings(流量设置) > Policy settings(策略设置),然后开启 Match extended email addresses(匹配扩展电子邮件地址)。此设置适用于所有防火墙、出站和解析器策略。
您每分钟可以向 Gateway Lists 终端节点发送 600 个请求。如果超过速率限制,Cloudflare 将拦截后续请求 120 秒。