mcpField
C
configuring-ip-allowlists

configuring-ip-allowlists

github.com/cockroachlabsセキュリティ23118 回インストール14 週間前に更新
リポジトリ

configuring-ip-allowlists について

このスキルは、CockroachDB CloudクラスターのIP許可リストを絞り込み、SQLとDB Consoleへのネットワークアクセスを制限する手順を管理者向けに案内します。広範なルールを削除する前に、特定のCIDRを追加して接続を確認し、アクセス不能になるリスクを抑えます。

主な機能

  1. 01既存の許可リストの表示と確認
  2. 02広範または未記録のCIDR範囲の特定
  3. 03許可する送信元CIDRの追加
  4. 04エントリーごとのSQL・UIアクセス設定
  5. 05接続確認とロールバック手順

活用シーン

  1. 010.0.0.0/0などの公開ルールの削除
  2. 02初期設定後のクラスターアクセス制限
  3. 03オフィス、VPN、CI/CDの範囲追加
  4. 04ネットワークアクセス監査の指摘への対応

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cockroachlabs/cockroachdb-skills --skill configuring-ip-allowlists

インストール後、Claude Code で/configuring-ip-allowlistsを入力して読み込まれたか確認します。

同梱ファイルreferences/ccloud-commands.md

詳細

IP 許可リストの設定

CockroachDB Cloud クラスターの IP 許可リストを設定して強化し、許可された CIDR 範囲からのみ SQL および DB Console にアクセスできるようにします。0.0.0.0/0 など、許可範囲が広すぎるエントリーを特定し、具体的で狭い範囲に置き換えます。

このスキルを使用する場面

  • IP 許可リストから 0.0.0.0/0(すべてに公開)を削除する場合
  • クラスターの初期設定後にネットワークアクセスを制限する場合
  • オフィス、VPN、CI/CD の CIDR 範囲を許可リストに追加する場合
  • 既存の許可リストエントリーを確認して、範囲を狭める場合
  • ネットワークアクセスの許可範囲が広すぎるというセキュリティ監査の指摘に対応する場合

前提条件

  • ccloud CLI がインストールされ、認証済みであること(ccloud auth login)
  • Cloud Console のロール: Cluster Admin または Cluster Operator
  • 把握済みの CIDR 範囲: オフィスの IP、VPN の送信元 IP、CI/CD ランナーの IP、その他の許可された接続元
  • クラスター ID: ccloud cluster list で確認できます

アクセスを確認します:

ccloud auth whoami
ccloud cluster list

手順

1. 現在の許可リストエントリーを一覧表示する
# List all IP allowlist entries for the cluster
ccloud cluster networking allowlist list <cluster-id> -o json

各エントリーを確認します。次のいずれかに該当する場合、許可範囲が広すぎるものとして扱います。

  • 0.0.0.0/0 — すべての IPv4 アドレスに公開
  • /8 の範囲 — 1,600 万以上のアドレス
  • /16 の範囲 — 65,000 以上のアドレス
  • 不明または文書化されていないエントリー

コマンドの構文については、ccloud コマンドリファレンスを参照してください。

2. 許可リストの上限を確認する

CockroachDB Cloud クラスターでは、クラスターごとに登録できる IP 許可リストエントリー数に上限があります。上限を超える数のエントリーが必要な場合は、次の方法を検討してください。

  • エントリーを統合する: セキュリティ上問題がない場合、より広い CIDR 範囲を使用します(例:複数の /32 エントリーを 1 つの /24 に統合する)
  • プライベートエンドポイントを使用する: VPC ベースのアクセスには、許可リストの代わりにプライベートエンドポイントに切り替えます。プライベートエンドポイントでは許可リストを完全に迂回します
  • 上限の引き上げを申請する: エントリーの統合やプライベートエンドポイントで対応できない場合は、CockroachDB Cloud サポートに問い合わせます
3. 必要な CIDR 範囲を特定する

許可リストを変更する前に、正規のアクセス元をすべて記録します。

接続元CIDRSQL アクセスUI アクセス
オフィスネットワーク203.0.113.0/24はいはい
VPN の送信元198.51.100.0/24はいはい
CI/CD ランナー192.0.2.0/28はいいいえ
モニタリング10.0.1.5/32はいいいえ
4. 具体的な CIDR エントリーを追加する
# Add a specific CIDR range (CIDR is a positional argument)
ccloud cluster networking allowlist create <cluster-name> <cidr> \
  --sql \
  --ui \
  --name "<description>"

例:

# Office network — SQL and UI access
ccloud cluster networking allowlist create <cluster-name> 203.0.113.0/24 \
  --sql \
  --ui \
  --name "Office network"

# CI/CD runners — SQL only
ccloud cluster networking allowlist create <cluster-name> 192.0.2.0/28 \
  --sql \
  --name "CI/CD runners"

# Single IP — /32 for maximum specificity
ccloud cluster networking allowlist create <cluster-name> 198.51.100.42/32 \
  --sql \
  --ui \
  --name "Developer workstation"
5. 許可範囲が広すぎるエントリーを削除する
# Delete the 0.0.0.0/0 entry (or other overly broad entries)
ccloud cluster networking allowlist delete <cluster-name> 0.0.0.0/0

重要: 具体的な CIDR エントリーが設定され、テスト済みであることを確認してから、0.0.0.0/0 を削除してください。

6. 更新した許可リストを確認する
# Confirm the final allowlist
ccloud cluster networking allowlist list <cluster-id> -o json

許可された各接続元から接続をテストします。

# Test SQL connection from an allowed IP
cockroach sql --url "<connection-string>" -e "SELECT 1;"

# Test from a non-allowed IP (should fail)
# Attempt connection from an IP not in the allowlist — expect connection refused

安全に関する考慮事項

リスク:アクセス不能になる。 現在の IP を追加する前に 0.0.0.0/0 を削除すると、すぐにアクセスがブロックされます。

対策:

  1. 変更前に現在の IP を特定します: curl -s https://checkip.amazonaws.com
  2. 広い範囲を削除する前に、まず自分の IP を /32 エントリーとして追加します
  3. 具体的なエントリーを追加した後、0.0.0.0/0 を削除する前に接続をテストします
  4. Cloud Console へのアクセスを確保します: SQL アクセスがブロックされていても、Cloud Console の UI から許可リストを変更できます

操作の順序:

  1. 具体的な CIDR エントリーをすべて追加します
  2. 許可された各接続元から SQL 接続を確認します
  3. 必要なエントリーがすべて設定されていることを確認してから、0.0.0.0/0 を削除します
  4. 再度テストして、引き続きアクセスできることを確認します

ロールバック

広い範囲のエントリーを削除した後にアクセスできなくなった場合:

  1. Cloud Console: CockroachDB Cloud Console(Web UI)にログインします。ここでは IP 許可リストは適用されません
  2. 自分の IP を再追加します: 現在の IP を /32 として追加するか、一時的に 0.0.0.0/0 を再追加します
  3. 原因を調査します: 不足していた CIDR を特定して追加します
# Emergency: re-add 0.0.0.0/0 via ccloud (if you still have ccloud access)
ccloud cluster networking allowlist create <cluster-name> 0.0.0.0/0 \
  --sql \
  --ui \
  --name "Emergency - temporary open access"

参考資料

スキルの参考資料:

関連スキル:

CockroachDB 公式ドキュメント:

コメント