メインコンテンツまでスキップ
メインコンテンツまでスキップ

S3データへの安全なアクセス

この記事では、ClickHouse Cloudの顧客が役割ベースのアクセスを利用して、Amazon Simple Storage Service(S3)に認証し、安全にデータにアクセスする方法を示します。

はじめに

安全なS3アクセスの設定に入る前に、これがどのように機能するかを理解することが重要です。以下は、ClickHouseサービスが顧客のAWSアカウント内の役割に昇格することで、プライベートなS3バケットにアクセスできる方法の概要です。

ClickHouseによる安全なS3アクセスの概要

このアプローチにより、顧客はすべてのS3バケットへのアクセスを一か所(昇格された役割のIAMポリシー)で管理でき、すべてのバケットポリシーを通過してアクセスを追加または削除する必要がなくなります。

設定

ClickHouseサービスのIAMロールArnの取得

1 - ClickHouse Cloudアカウントにログインします。

2 - 統合を作成するClickHouseサービスを選択します。

3 - 設定タブを選択します。

4 - ページの下部にあるこのサービスについてセクションまでスクロールします。

5 - 下記のようにサービスに属するIAMロールの値をコピーします。

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

IAMロールの設定

オプション1: CloudFormationスタックによるデプロイ

1 - IAMロールの作成と管理の権限を持つIAMユーザーで、ウェブブラウザからAWSアカウントにログインします。

2 - このURLを訪れてCloudFormationスタックを取得します。

3 - ClickHouseサービスに属するIAMロールを入力(または貼り付け)します。

4 - CloudFormationスタックを構成します。以下は、これらのパラメータに関する追加情報です。

パラメータデフォルト値説明
ロール名ClickHouseAccess-001ClickHouse CloudがあなたのS3バケットにアクセスするために使用する新しいロールの名前
ロールセッション名*ロールセッション名は、バケットを更に保護するための共有秘密として使用できます。
ClickHouseインスタンスロールこのSecure S3統合を使用できるClickHouseサービスのIAMロールのカンマ区切りリスト。
バケットアクセス読み取り提供されたバケットへのアクセスレベルを設定します。
バケット名このロールがアクセスできるバケット名のカンマ区切りリスト。

: フルバケットArnは入力せず、バケット名のみを指定してください。

5 - AWS CloudFormationがカスタム名のIAMリソースを作成する可能性があることを理解しました。 チェックボックスを選択します。

6 - 右下のスタックを作成ボタンをクリックします。

7 - CloudFormationスタックがエラーなしで完了することを確認します。

8 - CloudFormationスタックの出力を選択します。

9 - この統合のためのRoleArnの値をコピーします。これがあなたのS3バケットにアクセスするために必要なものです。

IAMロールARNを示すCloudFormationスタックの出力

オプション2: IAMロールを手動で作成する

1 - IAMロールの作成と管理の権限を持つIAMユーザーで、ウェブブラウザからAWSアカウントにログインします。

2 - IAMサービスコンソールに移動します。

3 - 以下のIAMポリシーとTrustポリシーを使用して新しいIAMロールを作成します。

Trustポリシー({ClickHouse_IAM_ARN}をあなたのClickHouseインスタンスに属するIAMロールarnで置き換えてください):

IAMポリシー({BUCKET_NAME}をあなたのバケット名で置き換えてください):

4 - 作成後に新しいIAMロールArnをコピーします。これがあなたのS3バケットにアクセスするために必要なものです。

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

ClickHouse Cloudには、S3テーブル関数の一部としてextra_credentialsを指定できる新機能があります。以下は、上記からコピーした新しく作成されたロールを使ってクエリを実行する方法の例です。

以下は、role_session_nameを共有秘密として使用してバケットからデータをクエリする例です。role_session_nameが正しくない場合、この操作は失敗します。

注記

データ転送料を削減するため、ソースのS3がClickHouse Cloudサービスと同じリージョンにあることをお勧めします。詳細については、S3の料金を参照してください。