はじめに
こんにちは、SREグループの萩原です。 「Chatwork」のサービスにはメッセージデータの永続化を担う Falcon というサブシステムがあります。
今年に入って、その中のコンポーネントである Kafka をマネージドサービスにリプレースする機運が高まってきたことから、Confluent 社が提供している Confluent Cloud Kafka について調査をすすめています。
その中のひとコマを紹介します。
今回は、Confluent Cloud に対して操作する場合のアクセス元を制限する方法について確認してみます。
あらかじめ IP グループを準備しておき、IP フィルターで IP グループに登録された IP アドレスからのアクセスに対してどのような操作を許可するかを設定する仕組みのようです。
IPグループの準備
まず、はじめにオフィスから Confluent Cloud に対するログインを許可するために「オフィス VPN」の IP アドレスを登録します。
- オフィス VPN の IP アドレスが 192.168.1.1/32 だった場合
- オフィス VPN の IP アドレスが 192.168.1.1/32 だった場合
私達はクラウド上に作成するリソースを terraform で管理しています。
リソースに対する変更操作 (追加/更新/削除) は Atlantis サーバー経由で適用する運用になっているため、「Atlantis」の IP アドレスも登録します。- Atlantis サーバーの IP アドレスが 172.31.1.1/32 だった場合
- Atlantis サーバーの IP アドレスが 172.31.1.1/32 だった場合
IP フィルターの設定
IP グループに対して「リソーススコープ」内で許可する操作を定義します。 許可する操作は「操作グループ」によって指定します。
「リソーススコープ」について IPフィルターの設定対象となるリソースのスコープには「組織」と「環境」があります。
組織
組織レベルで IP フィルタを登録するとスコープ範囲が「組織」になります。
「Accounts & access」から設定する IP filter は「組織レベル」です。環境
個別の環境レベルで IP フィルタを登録した場合のスコープ範囲は「その環境」に限定されます。
なお、個別の環境レベルでは、組織レベルで設定された IP フィルタの制限を更に強める方向での設定のみが可能で、個別の環境に対して組織レベルで設定された IP フィルタの制限を緩和するような設定はできません。
「操作グループ」について
IPフィルタによって許可される操作のセットに付けられた名前で、以下の操作グループを選択可能です。Resource management (リソース管理)
すべての管理操作を対象としますSchema management (スキーマ管理)
スキーマに関連する管理操作のみを対象としますFlink Apache Flink のデータに関連するすべての操作を対象とします。
このスクリーンショットでは、IP グループ「Office VPN」と「Atlantis Endpoint」に登録されている IP アドレスから、操作グループ「Resource management」、「Schema management」、「Flink」が対象としている操作を許可しています。
スクリーンショット内でチェックボックスがグレイアウトされている項目は現時点で選択できません。
さて、以上の設定によって IP フィルタに登録された IP グループに含まれない IP アドレスからは Confluent Cloud にアクセスできなくなっているはずです。
VPN をセットアップしていない環境から Confluent Cloud に対してログインを試みて挙動を確認してみましょう。
- ログイン画面
普段通りにログイン手続きを済ませると、以下のような画面になってログインすることができません。
You do not have permission to view this content from this network location. Please check with your organization administrator for more information.
想定通りの挙動です。
以上のような感じで接続元を制限しておくことで少し安心できそうです。また、IP フィルタによってブロックされたアクセスは audit log 経由でも確認できるため、不審なアクセスがあれば検知して対処することが可能になります。
おまけ情報
Confluent Cloud では、SAML-based SSO によるユーザーの自動プロビジョニングにも対応しています。
社内システムと連携させることでユーザー管理もラクになりそうです。
このあたりの話はまたの機会に・・・
最後までお読みいただきありがとうございました。
お知らせ
最後にお知らせです。
7月11日、12日に開催される「SRE NEXT 2025」にプラチナムスポンサーとしてブース出展します🎉
二日目の12日には13:30〜13:50にTrack Cにて、「『Chatwork』のEKS環境を支えるhelmfileを使用したマニフェスト管理術」というタイトルでスポンサーセッションも行いますのでぜひご参加ください!
SRE NEXT 2025 詳細
- 公式サイト:https://sre-next.dev/2025/
- 会場:TOC有明
- 日時:2025年7月11日(金)、12(土)