ClickHouse/docs/ja/cloud/security/cmek.md
2024-11-18 11:58:58 +09:00

10 KiB
Raw Blame History

sidebar_label slug title
ユーザー管理の暗号化キー /ja/cloud/security/cmek ユーザー管理の暗号化キー (CMEK)

ユーザー管理の暗号化キー (CMEK)

ClickHouse Cloudは、ユーザー自身のキー管理サービス (KMS) キーを活用してサービスを保護することを可能にします。私たちは、ClickHouseの組み込み機能であるデータ暗号化用の仮想ファイルシステム機能を利用し、あなたのデータを暗号化・保護します。ClickHouse Cloudサービスで使用されるデータ暗号化キーは、エンベロープ暗号化として知られるプロセスを通じて、ユーザーが提供したKMSキーを使用して暗号化・保護されます。この機能を動作させるために必要なのは、ランタイムでデータ暗号化キーを復号・暗号化するためのKMSキーへのアクセスです。

この機能は ClickHouse Cloud のプロダクションサービスに限定されており、この機能を有効にするにはsupportにご連絡ください。ユーザー管理の暗号化キーは、サービス作成時に指定する必要があり、既存のサービスではこのオプションを使用できません。バックアップと復元を確認して代替オプションをご覧ください。

現在サポートされている KMS プロバイダー:

近日提供予定:

:::warning ClickHouse Cloud サービスの暗号化に使用されたKMSキーを削除すると、ClickHouseサービスは停止され、データおよび既存のバックアップは取得不可能になります。 :::

手順1. KMSキーの作成

AWS KMSを使用

AWSコンソール、CloudFormation スタック、またはTerraform プロバイダを使用してAWS KMSキーを作成できます。以下にそれぞれの手順を説明します。

オプション1. AWSコンソールを使用してKMSキーを手動で作成

注意: 既に使用したいKMSキーがある場合は、次のステップに進んでください。

  1. AWSアカウントにログインし、Key Management Service に移動します。

  2. 左側のメニューから__ユーザー管理キー__を選択します。

  3. 右上の__キーを作成__をクリックします。

  4. キータイプ「対称キー」と__キー使用__「暗号化および復号化」を選択し、次へをクリックします。

  5. キーのエイリアス(表示名)を入力し、次へをクリックします。

  6. キー管理者を選択し、次へをクリックします。

  7. (オプション)キーのユーザーを選択し、次へをクリックします。

  8. __キー ポリシー__の下に、以下のコードスニペットを追加します:

    {
        "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": "*"
    }
    

    暗号化キー ポリシー

  9. 完了をクリックします。

  10. 作成したキーのエイリアスをクリックします。

  11. コピー ボタンを使用してARNをコピーします。

オプション2. CloudFormationスタックを使用してKMSキーを設定または作成

ClickHouseは、キーのためのAWSポリシーをデプロイするための簡単なCloudFormationスタックを提供します。この方法は、既存のKMSキーおよびClickHouse Cloud統合のための新しいKMSキーの作成の両方をサポートします。

既存のKMSキーを使用
  1. AWS アカウントにログインします。
  2. このリンクを訪問してCloudFormation テンプレートを準備します。
  3. 使用したいKMSキーのARNを入力しますカンマで区切り、スペースを空けないこと
  4. 「AWS CloudFormationがカスタム名でIAMリソースを作成する可能性があることを認識しています。」に同意し、__スタックを作成__をクリックします。
  5. 次のステップで必要なスタック出力のRoleArnKeyArnを書き留めます。
新しいKMSキーを作成
  1. AWS アカウントにログインします。
  2. このリンクを訪問してCloudFormation テンプレートを準備します。
  3. 「AWS CloudFormationがカスタム名でIAMリソースを作成する可能性があることを認識しています。」に同意し、__スタックを作成__をクリックします。
  4. 次のステップで必要なスタック出力のKeyArnを書き留めます。

オプション3. Terraformを通じてKMSキーを作成

キーをTerraformを使用してデプロイしたいユーザー向けに、AWSプロバイダのドキュメントはこちらをご覧ください。

手順2. ユーザー管理の暗号化キーを使用してClickHouseサービスを開始

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

  2. サービス画面に移動します。

  3. 新しいサービス をクリックします。

  4. クラウドプロバイダー、リージョンを選択し、サービスに名前を付けます。

  5. __暗号化キーの設定 (CMEK)__をクリックします。例はAWS KMSプロバイダーを使用して示されています。

  6. ウィンドウの右側のフィールドにAWS ARNを貼り付けます。

    暗号化設定

  7. システムは暗号化キーがアクセス可能であることを確認します。

  8. AWS ARNボックスの上に__有効__メッセージが表示されたら__サービスを作成__をクリックします。

  9. サービス画面のサービスタイルの右上隅にキーアイコンが表示され、暗号化されていることを知らせます。

    サービス暗号化済み

バックアップと復元

バックアップは、関連するサービスと同じキーを使用して暗号化されます。暗号化されたバックアップを復元することで、元のインスタンスと同じ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%のパフォーマンス低下が予想されます:

CMEKパフォーマンス低下