Skip to main content

AWS IAMロール

Bootstrap IAM ロール

Bootstrap IAM ロールには、次の権限があります。
  • EC2 および VPC の操作: VPC と EKS クラスターのセットアップに必要です。
  • S3 の操作 (例: s3:CreateBucket) : ClickHouse BYOC ストレージ用のバケットを作成するために必要です。
  • IAM の操作 (例: iam:CreatePolicy) : コントローラーが追加のロールを作成するために必要です (詳細は次のセクションを参照してください) 。
  • EKS の操作: 名前が clickhouse-cloud プレフィックスで始まるリソースに限定されます。

コントローラーによって追加で作成される IAM ロール

CloudFormation で作成される ClickHouseManagementRole に加えて、コントローラーはいくつかの追加のロールも作成します。 これらのロールは、お客様の EKS クラスター内で実行されるアプリケーションが引き受けることを想定しています。
  • State Exporter Role
    • サービスの正常性情報を ClickHouse Cloud に報告する ClickHouse コンポーネントです。
    • ClickHouse Cloud が所有する SQS キューへの書き込み権限が必要です。
  • Load-Balancer Controller
    • 標準的な AWS ロードバランサーコントローラーです。
    • ClickHouse サービスのボリュームを管理する EBS CSI コントローラーです。
  • External-DNS
    • DNS 設定を Route 53 に反映します。
  • Cert-Manager
    • BYOC サービスのドメイン向けに TLS 証明書を発行します。
  • Cluster Autoscaler
    • 必要に応じてノードグループのサイズを調整します。
K8s-control-planek8s-worker のロールは、AWS EKS サービスが引き受けることを想定しています。 最後に、data-plane-mgmt は、ClickHouseCluster や Istio の Virtual Service/Gateway など、必要なカスタムリソースを ClickHouse Cloud のコントロールプレーンコンポーネントがリコンサイルできるようにします。

GCP のサービスアカウント

Bootstrap サービス アカウント

Bootstrap サービス アカウントには、プロジェクト スコープのカスタム ロールとして、次の権限が付与されます。
  • Common: 基本的な閲覧権限と ID 関連の権限。
  • VPC: BYOC インフラストラクチャを支える VPC、サブネット、ルーティング、および Private Service Connect アタッチメントを管理します。
  • Cluster: GKE クラスターとクラスター内のリソースを管理します。
  • Storage: ClickHouse のバックアップ、共有状態、監視データに使用される Cloud ストレージ バケットの管理に使用されます。
  • IAM Role: プロジェクト内のサービス アカウントとカスタム ロールを管理します。このロールでは、サービス アカウント キーの作成、組織ポリシーのバインド、または他のプロジェクト内のリソースの操作は許可されません。

コントローラーによって追加で作成されるサービスアカウント

オンボーディングの一環として Terraform 経由で作成される clickhouse-management サービスアカウントに加え、最初の BYOC サービスをプロビジョニングすると、ClickHouse のコントロールプレーン (clickhouse-management として認証) が、クラスター内の特定のワークロード向けにプロジェクト内へ追加のサービスアカウントを作成します。これらはそれぞれ、単一の用途に限定された最小限の権限セットで作成されます。
  • GKE ノード runtime identity
    • BYOC クラスター内のすべての GKE ノード仮想マシンにアタッチされます。
    • キューブレット、ノードローカル agent、Cloud Operations collector が logs とメトリクスを送信するために使用されるほか、イメージ取得サブシステムがコンテナー イメージをダウンロードする際にも使用されます。
  • Billing scraper identity
    • standalone scraper ワークロードが billing テレメトリーを収集するために使用されます。
  • Monitoring identity
    • クラスター内で稼働する monitoring stack の対象 identity です。このデプロイメント専用の GCS bucket にある長期メトリクス ストレージの読み書きに使用されます。
  • ClickHouse runtime management identity
    • ClickHouse の runtime データプレーン管理コントローラーが使用します。これは、Private Service Connect endpoint の管理、bucket ライフサイクルの調整、サービスアカウントのローテーションなどの day-2 operations を処理します。

Azure のロールと ID

オンボーディング用サービス プリンシパル

Azure 用 Terraform モジュールによるオンボーディングでは、クロステナント認証に関する Azure のガイダンスに従って、テナント内にマルチテナント アプリケーションをエンタープライズ アプリケーション (サービス プリンシパル) としてプロビジョニングします。サービス プリンシパルには、ターゲット サブスクリプションをスコープとする最小権限のカスタム ロールが割り当てられ、次の権限が付与されます。
  • ネットワーク: BYOC インフラストラクチャをホストする VNet、サブネット、パブリック IP、NAT ゲートウェイ、ネットワーク セキュリティ グループ、DNS ゾーンを管理します。
  • クラスター: AKS クラスターとノードプールを管理します。
  • ストレージ: ClickHouse データ、バックアップ、監視データに使用するストレージ アカウントとブロブ コンテナーを管理します。
  • ID: サブスクリプション内のユーザー割り当てマネージド ID と、そのフェデレーション ID 資格情報を管理します。
  • 認可: カスタム ロール定義とロールの割り当てを管理します。すべての権限はターゲット サブスクリプションに限定されるため、このロールは他のサブスクリプションやテナントのリソースにアクセスできません。

コントローラーが作成する追加のマネージド identity

BYOC サービスをプロビジョニングすると、ClickHouse のコントロールプレーンによって、お客様のサブスクリプション内にユーザー割り当てマネージド identity が作成されます。各 identity は、権限を限定し、単一の目的にのみ使用する特定の Kubernetes サービスアカウント (Workload identity) にフェデレーションされます。
  • サービスごとの identity
    • 各 ClickHouse サービスが、テーブルデータとバックアップ用のストレージアカウントにアクセスする際に使用します。アクセスには、そのストレージアカウントをスコープとするカスタム ブロブ ストレージロールを使用します。
    • サービスをバックアップから復元する際には、ソースサービスのバックアップコンテナーに対する読み取り専用アクセスも追加で付与されます。
  • 共有インフラストラクチャ identity
    • プライベートリンク サービスの管理など、Day 2 運用において ClickHouse のruntimeデータプレーン管理コントローラーが使用します。
最終更新日 2026年8月14日