Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

IP またはドメインのリストを作成する

最終更新 Markdown で表示Agent セットアップ

Gateway では、ポリシーから参照する IP、ホスト名、その他のエントリの リスト を作成できます。

Cloudflare プラットフォームへオンボードするときは、あらかじめ決めた一連のセキュリティポリシーがあることが多いです。ホスト名、IP、または個々のユーザーに紐づく別の指標に基づく明示的な拒否リストがある場合もあります。一部のネットワークだけが特定の apex レコードへアクセスでき、ほかはできない、といった構成もあるでしょう。

継続的な運用を簡単にする形で Cloudflare へ移行するには、再利用できるオブジェクトをできるだけ多く作るのが最善です。ポリシー作成が簡単になるだけでなく、アプリケーション、ネットワーク、サービスが自然に変化・成長したとき、リストを更新すれば、そのリストを適用している場所すべてに反映されます。

CSV ファイルからリストを作成する

CSV リストのアップロードを試すには、IP アドレス範囲の サンプル CSV ファイル をダウンロードするか、次の内容をファイルにコピーします。

list-test.csvcsv
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 ダッシュボードにリストをアップロードする手順です。

  1. Cloudflare ダッシュボードZero Trust > Reusable components > Lists を開きます。
  2. Upload CSV を選びます。
  3. List name を指定し、任意で説明を入力して、List type を選びます。
  4. CSV file ウィンドウにファイルをドラッグ&ドロップするか、ファイルを選びます。
  5. Create を選びます。
  1. cloudflare_api_token に次の権限を追加します。

    • Zero Trust Write
  2. CSV ファイルの内容をデコードし、ローカル値として保存します。

    locals {
    	ip_list = csvdecode(file("${path.module}/list-test.csv"))
    }
  3. 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 演算子を選んで、このリストを使えます。

リストを手動で作成する

  1. Cloudflare ダッシュボードZero Trust > Reusable components > Lists を開きます。
  2. Create manual list を選びます。
  3. List name を指定し、任意で説明を入力して、List type を選びます。
  4. Add entry フィールドにリスト要素を手動で入力し、Add を選びます。
  5. Save を選びます。
Create Zero Trust listbash
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"
	}'
  1. cloudflare_api_token に次の権限を追加します。

    • Zero Trust Write
  2. 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 演算子を選んで、このリストを使えます。

役に立ちましたか?