ユーザー管理の暗号化キー (CMEK)
ClickHouse Cloudは、ユーザー自身のキー管理サービス (KMS) キーを活用してサービスを保護することを可能にします。私たちは、ClickHouseの組み込み機能であるデータ暗号化用の仮想ファイルシステム機能を利用し、あなたのデータを暗号化・保護します。ClickHouse Cloudサービスで使用されるデータ暗号化キーは、エンベロープ暗号化として知られるプロセスを通じて、ユーザーが提供したKMSキーを使用して暗号化・保護されます。この機能を動作させるために必要なのは、ランタイムでデータ暗号化キーを復号・暗号化するためのKMSキーへのアクセスです。
この機能は ClickHouse Cloud のプロダクションサービスに限定されており、この機能を有効にするにはsupportにご連絡ください。ユーザー管理の暗号化キーは、サービス作成時に指定する必要があり、既存のサービスではこのオプションを使用できません。バックアップと復元を確認して代替オプションをご覧ください。
現在サポートされている KMS プロバイダー:
- AWSにホストされているサービス向けのAWS Key Management Service
近日提供予定:
- Azureにホストされているサービス向けのAzure Key Vault
- GCPにホストされているサービス向けのGCP Cloud Key Management
- AWS、Azure、GCPにホストされているサービス向けのHashicorp Vault
ClickHouse Cloud サービスの暗号化に使用されたKMSキーを削除すると、ClickHouseサービスは停止され、データおよび既存のバックアップは取得不可能になります。
手順1. KMSキーの作成
AWS KMSを使用
AWSコンソール、CloudFormation スタック、またはTerraform プロバイダを使用してAWS KMSキーを作成できます。以下にそれぞれの手順を説明します。
オプション1. AWSコンソールを使用してKMSキーを手動で作成
注意: 既に使用したいKMSキーがある場合は、次のステップに進んでください。
AWSアカウントにログインし、Key Management Service に移動します。
左側のメニューからユーザー管理キーを選択します。
右上のキーを作成をクリックします。
キータイプ「対称キー」とキー使用「暗号化および復号化」を選択し、次へをクリックします。
キーのエイリアス(表示名)を入力し、次へをクリックします。
キー管理者を選択し、次へをクリックします。
(オプション)キーのユーザーを選択し、次へをクリックします。
キー ポリシーの下に、以下のコードスニペットを追加します:
{
"Sid": "Allow ClickHouse Access",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::576599896960:role/prod-kms-request-role"
},
"Action": ["kms:GetPublicKey",
"kms:Decrypt",
"kms:GenerateDataKeyPair",
"kms:Encrypt",
"kms:GetKeyRotationStatus",
"kms:GenerateDataKey",
"kms:DescribeKey"],
"Resource": "*"
}完了をクリックします。
作成したキーのエイリアスをクリックします。
コピー ボタンを使用してARNをコピーします。
オプション2. CloudFormationスタックを使用してKMSキーを設定または作成
ClickHouseは、キーのためのAWSポリシーをデプロイするための簡単なCloudFormationスタックを提供します。この方法は、既存のKMSキーおよびClickHouse Cloud統合のための新しいKMSキーの作成の両方をサポートします。
既存のKMSキーを使用
- AWS アカウントにログインします。
- このリンクを訪問してCloudFormation テンプレートを準備します。
- 使用したいKMSキーのARNを入力します(カンマで区切り、スペースを空けないこと)。
- 「AWS CloudFormationがカスタム名でIAMリソースを作成する可能性があることを認識しています。」に同意し、スタックを作成をクリックします。
- 次のステップで必要なスタック出力の
RoleArn
とKeyArn
を書き留めます。
新しいKMSキーを作成
- AWS アカウントにログインします。
- このリンクを訪問してCloudFormation テンプレートを準備します。
- 「AWS CloudFormationがカスタム名でIAMリソースを作成する可能性があることを認識しています。」に同意し、スタックを作成をクリックします。
- 次のステップで必要なスタック出力の
KeyArn
を書き留めます。
オプション3. Terraformを通じてKMSキーを作成
キーをTerraformを使用してデプロイしたいユーザー向けに、AWSプロバイダのドキュメントはこちらをご覧ください。
手順2. ユーザー管理の暗号化キーを使用してClickHouseサービスを開始
ClickHouse Cloudアカウントにログインします。
サービス画面に移動します。
新しいサービス をクリックします。
クラウドプロバイダー、リージョンを選択し、サービスに名前を付けます。
暗号化キーの設定 (CMEK)をクリックします。例はAWS KMSプロバイダーを使用して示されています。
ウィンドウの右側のフィールドにAWS ARNを貼り付けます。
システムは暗号化キーがアクセス可能であることを確認します。
AWS ARNボックスの上に有効メッセージが表示されたらサービスを作成をクリックします。
サービス画面のサービスタイルの右上隅にキーアイコンが表示され、暗号化されていることを知らせます。
バックアップと復元
バックアップは、関連するサービスと同じキーを使用して暗号化されます。暗号化されたバックアップを復元することで、元のインスタンスと同じKMSキーを使用する暗号化済みインスタンスが作成されます。KMSキーを回転させることも可能です。詳細についてはキーの回転を参照してください。
暗号化済みインスタンスは、非暗号化バックアップを復元し、新しいサービスのために希望するKMSキーを指定することで作成できますので、supportにご連絡ください。
KMS キーポーラー
エンベロープ暗号化を使用する場合、提供されたKMSキーが依然として有効であることを定期的に確認する必要があります。KMSキーのアクセスを10分ごとに確認します。アクセスが無効になった時点でClickHouseサービスを停止します。サービスを再開するには、このガイドの手順に従ってアクセスを復活させ、それからサービスを開始してください。
この機能の性質上、KMSキーが削除された後にClickHouse Cloudサービスを復旧することはできません。これを防ぐために、ほとんどのプロバイダーはキーをすぐに削除せず、削除をスケジュールします。プロバイダーのドキュメントを確認するか、このプロセスについてsupportにお問い合わせください。
キーの回転
キー回転は同じKMSプロバイダー内でサポートされています。これは新しいKMSキーを使用してデータ暗号化キーを再暗号化し、このリクエストはClickHouseサービスのダウンタイムなしで即時に処理されます。この操作を実行するには、設定されたKMSキーと新しいKMSキーの両方にアクセスできることを確認し、KMSキー情報を添えてsupportにご連絡ください。
パフォーマンス
本ページで指定されているように、私たちはClickHouseの組み込み機能であるデータ暗号化用の仮想ファイルシステム機能を利用し、データを暗号化・保護しています。
この機能で使用されるアルゴリズムはAES_256_CTR
であり、ワークロードに応じて5-15%のパフォーマンス低下が予想されます: