ClickHouse の従業員は、デフォルトではお客様のデータにアクセスできません。すべてのユーザーテーブルとクエリ結果を含む ClickHouse のデータは、お客様の VPC 内に保持されます。ClickHouse がお客様のデプロイメントとやり取りする経路は以下に限られており、そのいずれもお客様のテーブルデータへのアクセスを許可するものではありません。
通常運用
ClickHouse Cloud の制御プレーンは、お客様のデータを読み取ることなく、お客様の BYOC デプロイメントを運用します。お客様の VPC 外にデータを送信するコンポーネントに含まれるのは、運用メタデータのみです。
| Component | VPC 外に送信されるもの |
|---|---|
| State exporter | ClickHouse Cloud が所有する SQS キューに送信されるサービスおよびバックアップの状態 (正常性、ステータス — 運用イベントであり、バックアップの内容ではありません) 。 |
| Billing scraper | ClickHouse Cloud が所有するオブジェクトストレージバケットに送信される CPU およびメモリのメトリクス。 |
| AlertManager | ClickHouse Cloud に送信されるクラスターの正常性アラート。 |
クエリトラフィック、テーブルの内容、スキーマがこれらの経路を通ることはありません。ログとメトリクスは BYOC VPC 内にとどまります。
トラブルシューティングアクセス
ClickHouse engineers がご利用中のデプロイメントで問題を診断する必要がある場合は、内部のエスカレーションおよび承認ワークフローを通じて、必要なときに限ってアクセスをリクエストします。承認されたアクセスは有効期限付きの証明書によって付与され、Tailscale 経由でルーティングされます。公開インターネットを経由することはありません。
エンジニアが確認できる内容
承認されたトラブルシューティングアクセスでは、エンジニアは ClickHouse のシステムテーブルのみを参照できます。対象は次のとおりです。
system.query_log— サービスに対して実行されたクエリのクエリテキストと実行メタデータsystem.tables、system.columns、および同様のシステムテーブル — スキーマとメタデータ- 診断に使用されるその他の
system.*テーブル (例: パーツ、ミューテーション、レプリカ)
エンジニアが確認できないもの
エンジニアは顧客のユーザーテーブルを参照できません。アクセスはシステムテーブルのみに限定されています。
アクセス制御の仕組み
- 承認が必要: すべてのアクセスリクエストは、指定された承認者による社内承認システムを通ります。エンジニアが自分でアクセス権を付与することはできません。
- 有効期限付き証明書: 承認された各セッションごとに、一時的な有効期限付き証明書が発行されます。アクセスは自動的に失効します。
- 証明書ベース認証: BYOC インスタンスへの人によるすべてのアクセスでは、パスワードベースのアクセスの代わりに証明書が使用されます。
- システムテーブルに対する読み取り専用: 証明書の認証主体は、システムテーブルの読み取りに限定されます。
- データはエクスポートされない: トラブルシューティングセッションのログやクエリ結果が ClickHouse インフラストラクチャにエクスポートされることはありません。
監査
エンジニアのアクティビティはお客様にも可視化されており、ClickHouse によって監査されています。
- お客様から確認可能: ClickHouse のエンジニアがお客様のインスタンスで実行したすべてのクエリは、クエリテキストと証明書の identity を含めて、お客様自身の
system.query_logに記録されます。これは ClickHouse サービスから直接監査できます。 - ClickHouse 側: ClickHouse のセキュリティチームは、すべてのアクセスリクエスト、承認、Tailscale 接続を内部で記録し、監査しています。
今後追加予定の制御
顧客側で承認を管理する機能 (エンジニアによるアクセス要求ごとに、有効化される前にお客様が承認する仕組み) は、ロードマップに含まれています。現時点では、承認は ClickHouse の社内エスカレーションプロセスを通じて行われます。
- BYOC ネットワークセキュリティ — Tailscale とネットワーク境界の仕組み
- BYOC 権限 — BYOC のセットアップ時に作成される IAM ロール