メインコンテンツへスキップ
このガイドでは、ClickHouse Cloud のお客様がロールベースのアクセス制御を利用して Amazon Simple Storage Service (S3) で認証し、データへ安全にアクセスする方法を説明します。 安全な S3 アクセスの設定に入る前に、その仕組みを理解しておくことが重要です。以下は、お客様の AWS アカウント内のロールを引き受けることで、ClickHouseサービスがプライベートな S3 バケットにアクセスする仕組みの概要です。
この方法では、S3 バケットへのすべてのアクセスを 1 か所 (引き受けるロールの IAM ポリシー) で管理できるため、アクセスを追加または削除するたびに各バケットポリシーを見直す必要がありません。 以下のセクションでは、この設定方法を説明します。

ClickHouseサービスの IAMロール ARN を取得する

  1. ClickHouse Cloud アカウントにログインします。
  2. インテグレーションを作成する ClickHouseサービスを選択します。
  3. Settings タブを選択します。
  4. ページ下部の Network security information セクションまでスクロールします。
  5. 以下に示すように、そのサービスの Service role ID (IAM) の値をコピーします。

IAM Assume Role を設定する

IAM Assume Role は、次の 2 つの方法のいずれかで設定できます。

CloudFormation スタックを使用したデプロイ

  1. IAM ロール を作成および管理する権限を持つ IAM ユーザーで、Web ブラウザーから AWS アカウントにログインします。
  2. 次の CloudFormation URL にアクセスし、CloudFormation スタックの作成画面を開きます。
  3. 前の手順で取得したサービスの service role ID (IAM) を、“ClickHouse Instance Roles” という入力欄に入力 (または貼り付け) します。 service role ID は Cloud Console に表示されているものをそのまま貼り付けできます。
  4. “Bucket Names” という入力欄にバケット名を入力します。バケット URL が https://ch-docs-s3-bucket.s3.eu-central-1.amazonaws.com/clickhouseS3/ の場合、バケット名は ch-docs-s3-bucket です。
完全なバケット ARN ではなく、バケット名のみを入力してください。
  1. CloudFormation スタックを設定します。以下に、これらのパラメータに関する追加情報を示します。
  1. I acknowledge that AWS CloudFormation might create IAM resources with custom names. チェックボックスを選択します
  2. 右下にある Create stack ボタンをクリックします
  3. CloudFormation スタックがエラーなく完了することを確認します。
  4. 新しく作成した Stack を選択し、CloudFormation スタックの Outputs タブを選択します
  5. このインテグレーションの RoleArn 値をコピーします。これは S3 バケットにアクセスするために必要な値です。

IAM ロールを手動で作成する

  1. IAM ロールの作成と管理の権限を持つ IAM ユーザーで、ウェブブラウザから AWS アカウントにログインします。
  2. IAM サービスのコンソールに移動します
  3. 以下の IAM ポリシーと信頼ポリシーを使用して、新しい IAM ロールを作成します。{ClickHouse_IAM_ARN} は、ClickHouse インスタンスに属する IAM ロールの ARN に置き換えてください。
IAM ポリシー
  1. 作成後、新しいIAM Role Arnをコピーします。これは、S3 バケットにアクセスするために必要です。

ClickHouseAccessロールでS3バケットにアクセスする

ClickHouse Cloud では、S3 table function の一部として extra_credentials を指定できます。 以下は、上でコピーした新しく作成したロールを使用してクエリを実行する例です。
以下は、role_session_name を共有シークレットとして使用してバケット内のデータをクエリする例です。 role_session_name が正しくない場合、この操作は失敗します。
データ転送コストを抑えるため、ソースの S3 は ClickHouse Cloudサービス と同じリージョンに配置することを推奨します。 詳しくは、S3 の料金 を参照してください。

高度なアクション制御

より厳格なアクセス制御を行うには、aws:SourceVpce 条件を使用して、ClickHouse Cloud の VPC エンドポイントを送信元とするリクエストのみを受け付けるようにバケットポリシーを制限できます。お使いの ClickHouse Cloud リージョンの VPC エンドポイントを確認するには、ターミナルを開いて次を実行します。
次に、取得したエンドポイントを使用して、IAMポリシーに拒否ルールを追加します。
ClickHouse Cloud サービスのエンドポイントへのアクセスの詳細については、Cloud IP Addressesを参照してください。
最終更新日 2026年7月1日