← Cloudflare One / cloudflare-one / reusable-components
Lists
С помощью Cloudflare One вы можете создавать списки URL-адресов, имён хостов или других записей для использования при создании Политики Gateway или Политики доступа. Это позволяет быстро создавать правила, которые сопоставляются и применяют действия сразу к нескольким элементам.
Прежде чем создавать список, запишите ограничения.
Типы списков
Каждый список может содержать данные только одного типа. Поддерживаются следующие типы данных:
- URLs
- Имена хостов или домены
- Серийные номера
- Email-адреса пользователей
- IP-адреса
- Номера ID устройства
- AAGUID (используемые Access: независимая MFA и ограничьте аутентификаторы WebAuthn, которые пользователи могут регистрировать)
Создайте список из файла CSV
Чтобы протестировать загрузку списков CSV, можно скачать пример файла CSV диапазонов IP-адресов или скопируйте следующее в файл:
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 > Многократно используемые компоненты > Lists.
- Выберите Загрузите CSV.
- Далее укажите List name, введите необязательное описание и выберите List type.
- Перетащите файл в Файл CSV окно, либо выберите файл.
- Выберите Создание.
-
Добавьте следующее разрешение в свой
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 > Многократно используемые компоненты > Lists.
- Выберите Создать список вручную.
- Далее укажите List name, введите необязательное описание и выберите List type.
- Введите элемент списка вручную в Добавить запись поле и выберите 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 странице найдите список, который хотите изменить.
-
Выберите Изменить. Это позволит вам:
- Измените имя и описание списка, выбрав меню с тремя точками справа от имени своего списка.
- Удалите список, выбрав меню с тремя точками справа от имени списка.
- Удалите отдельные записи.
- Добавьте элементы в свой список вручную.
-
После редактирования списка выберите Save.
Ограничения
Размер списка
Ваши списки могут содержать до 1,000 записей на тарифе Standard и до 5,000 на тарифе Enterprise. Загружаемый CSV-файл должен быть меньше 2 МБ.
Записи с подстановочным знаком
Списки имен хоста не поддерживают записи с подстановочными знаками (*.example.com). Вам нужно будет добавлять домены в виде точных совпадений. Добавление подстановочного знака в списки, состоящие из имен хостов, приведет к ошибке при сохранении.
Нелатинские символы
Gateway поддерживает символы, отличные от латиницы, преобразуя все домены и имена хостов в Punycode ↗. После сохранения списка с символами не из латиницы Gateway отобразит запись в формате Punycode.
Повторяющиеся записи
Списки не могут содержать повторяющиеся записи. Поскольку домены и имена хостов преобразуются в Punycode, несколько элементов списка, которые преобразуются в одну и ту же строку, будут считаться дубликатами. Например, éxàmple.com преобразуется в xn—xmple-rqa5d.com, поэтому, включив оба éxàmple.com и xn—xmple-rqa5d.com в списке приведёт к ошибке дублирования.
URL slashes
Gateway игнорирует завершающие косые черты (/) в URL-адресах. Например, https://example.com и https://example.com/ будут считаться одним и тем же URL-адресом и могут вызвать ошибку дублирования.
Расширенные адреса электронной почты
Расширенные адреса электронной почты (также известные как plus-адреса) представляют собой варианты существующего адреса электронной почты с + или . модификаторы. Многие почтовые провайдеры, например Gmail и Outlook, доставляют письма, предназначенные для расширенного адреса, на исходный адрес. Например, провайдеры доставят письма, отправленные на [email protected] или [email protected] к [email protected].
По умолчанию Gateway фильтрует либо только точные совпадения, либо все расширенные варианты, в зависимости от типа политики и используемого действия:
Политики DNS
| Действие | Поведение |
|---|---|
| Allow | Совпадение только по точному адресу |
| Block | Совпадение по точному адресу и всем его вариантам |
| Переопределение | Совпадение по точному адресу и всем его вариантам |
| Safe Search | Совпадение по точному адресу и всем его вариантам |
| YouTube Restricted | Совпадение по точному адресу и всем его вариантам |
Сетевые политики
| Действие | Поведение |
|---|---|
| Allow | Совпадение только по точному адресу |
| Block | Совпадение по точному адресу и всем его вариантам |
| Переопределение сети | Совпадение только по точному адресу |
Политики HTTP
| Действие | Поведение |
|---|---|
| Allow | Совпадение только по точному адресу |
| Block | Совпадение по точному адресу и всем его вариантам |
| Do Not Inspect | Совпадение только по точному адресу |
| Do Not Isolate | Совпадение только по точному адресу |
| Do Not Scan | Совпадение только по точному адресу |
| Изолировать | Совпадение по точному адресу и всем его вариантам |
Другие политики
| Тип политики | Поведение |
|---|---|
| Политика Egress | Совпадение только по точному адресу |
| Политика резолвера | Совпадение только по точному адресу |
Чтобы заставить Gateway учитывать все варианты адреса электронной почты, перейдите в Политики трафика > Настройки трафика > Настройки политики и включите Совпадение по расширенным адресам электронной почты. Этот параметр применяется ко всем политикам брандмауэра, исходящего трафика и резолвера.
Ограничение частоты запросов к API
Можно отправить 600 запросов на Gateway Lists конечную точку в минуту. Если вы превысите ограничение скорости, Cloudflare будет блокировать последующие запросы в течение 120 секунд.