10 KiB
sidebar_label | slug | title |
---|---|---|
ユーザー管理の暗号化キー | /ja/cloud/security/cmek | ユーザー管理の暗号化キー (CMEK) |
ユーザー管理の暗号化キー (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
:::warning 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%のパフォーマンス低下が予想されます: