目次
IP 許可リスト
IP 許可リスト
各 API キーに個別の IP 許可リストを設定でき、指定した送信元 IP からのリクエストだけがそのキーを使用できます。
適した利用場面
固定の送信元 IP を持つ本番サーバーや企業内ネットワークへのデプロイに適しています。自宅ネットワーク、モバイルネットワーク、その他変動するアドレスから利用する場合は、まず送信元 IP が安定していることを確認してください。確認しないと自分を締め出す可能性があります。
設定方法
「 /keys 」で対象キーの「…」メニューを開き、「IP 許可リスト」を選択して項目を入力し、保存します。
ログイン済みセッションまたは Management API key で PATCH /api/v1/keys/:id を使って設定することもできます。
項目の形式
UI では 1 行に 1 つの値を入力します。API では同じ値を `allowedCidrs` 配列に入れます。裸の IPv4 アドレス、IPv4 CIDR、または IPv6 リテラル(完全一致のみ)を指定できます。
203.0.113.7
198.51.100.0/24
2001:db8::1動作
空欄(空の [] 配列を送信)はすべての送信元 IP を許可します。これがデフォルトなので、既存キーの動作は変わりません。
送信元 IP は `cf-connecting-ip` ヘッダーから取得されます。
リストが空でないのに送信元 IP を解決できない場合、リクエストは拒否されます(fail-closed)。
⚠️ 重要:拒否されたリクエストは一般的な 401 のみを返します
リスト外からのリクエスト、または送信元 IP を解決できないリクエストには、無効なキーの場合と完全に同じ一般的な HTTP 401 が返され、専用のエラーメッセージはありません。これはキーを入手した第三者に許可リストの存在を知らせないための意図的な設計です。その代わり、設定ミスの症状は無効なキーと同じで、デバッグが非常に困難です。保存前に、ご利用のサーバーの送信元 IP がリストに含まれていることを確認してください。
⚠️ 重要:IPv6 は文字列の完全一致のみをサポートします
IPv6 ではサブネット計算を行わず、アドレス文字列が完全に一致する必要があります。IPv6 アドレスが変わる場合は締め出される可能性があります。CIDR 範囲 /0–/32 に対応するのは IPv4 のみです。
変更が反映されるタイミング
PATCH または UI の保存が成功すると、更新を処理したインスタンスのキャッシュは直ちに消去されます。通常は他のインスタンスにも最大約 15 秒で同期されます。共有 Redis が一時的に利用できない場合、インスタンス間の無効化は即時伝播できず、最大 1 時間のキャッシュ TTL の影響を受ける可能性があります。