Cloudflare One では、URL、ホスト名、その他のエントリのリストを作成し、Gateway ポリシー や Access ポリシー から参照できます。複数の項目に一度に一致させて、同じアクションを取るルールをすばやく作れます。
リストを作成する前に、制限事項 を確認してください。
各リストには、1 種類のデータだけを含められます。対応するデータ型は次のとおりです。
- 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 ファイルを整形するときは、次の点に注意してください。
- 各行は、値と任意の説明を含む 1 件のエントリにします。
- 説明を Zero Trust が認識するには、ヘッダー行が必要です。
- 末尾の空白文字は使えません。
- 改行は CRLF(Windows)と LF(Unix)のどちらも使えます。
Cloudflare ダッシュボードにリストをアップロードする手順です。
- Cloudflare ダッシュボード ↗ で Zero Trust > Reusable components > Lists を開きます。
- Upload CSV を選びます。
- List name を指定し、任意で説明を入力して、List type を選びます。
- CSV file ウィンドウにファイルをドラッグ&ドロップするか、ファイルを選びます。
- 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 manual list を選びます。
- List name を指定し、任意で説明を入力して、List type を選びます。
- Add entry フィールドにリスト要素を手動で入力し、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 Restricted | 完全一致のアドレスとすべての拡張形式 |
Network ポリシー
| アクション | 動作 |
|---|---|
| Allow | 完全一致のアドレスのみ |
| 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 をオンにします。この設定は、すべてのファイアウォール、Egress、Resolver ポリシーに適用されます。
Gateway Lists エンドポイントには、1 分あたり 600 リクエストまで送信できます。レート制限を超えると、Cloudflare は以降のリクエストを 120 秒間ブロックします。