顧客管理の暗号鍵の使用

このページでは、顧客管理の暗号鍵(CMEK)を使用して Dataproc Metastore サービスを保護する方法について説明します。CMEK により、Cloud Key Management Service で制御できる鍵で保存データが暗号化されます。鍵は、ソフトウェア キーとして、HSM クラスタ外部に保存できます。

準備

Dataproc Metastore サービスを VPC Service Controls の境界内で実行する場合は、Cloud Key Management Service(Cloud KMS)API を境界に追加する必要があります。

Dataproc Metastore の CMEK サポートを構成する

Dataproc Metastore の CMEK サポートを構成するには、まず、Cloud KMS 鍵の権限を Dataproc Metastore と Cloud Storage のサービス アカウントに付与する必要があります。そうすると、CMEK 鍵を使用する Dataproc Metastore サービスを作成できます。

Cloud KMS 鍵の権限を付与する

以下のコマンドを使用して、Dataproc Metastore の Cloud KMS 鍵の権限を付与します。

gcloud

  1. Cloud KMS で CMEK 鍵を作成します(利用できる鍵がない場合)。次のコマンドは、ソフトウェア キーを作成する例を示しています。

    gcloud config set project PROJECT_ID
    gcloud kms keyrings create KEY_RING \
      --project KEY_PROJECT \
      --location=LOCATION
    gcloud kms keys create KEY_NAME \
      --project KEY_PROJECT \
      --location=LOCATION \
      --keyring=KEY_RING \
      --purpose=encryption
    

    同様に、HSM 鍵を作成することも、EKM 鍵を作成することもできます。

  2. Dataproc Metastore サービス エージェントのサービス アカウントに権限を付与します。

    gcloud kms keys add-iam-policy-binding KEY_NAME \
      --location LOCATION \
      --keyring KEY_RING \
      --member=serviceAccount:$(gcloud beta services identity create \
      --service=metastore.googleapis.com 2>&1 | awk '{print $4}') \
      --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
    
  3. Cloud Storage サービス アカウントに権限を付与します。

    gsutil kms authorize -k projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
    

CMEK 鍵を使用して Dataproc Metastore サービスを作成します

サービス作成時に CMEK 暗号化を構成するには、次の手順を行います。

Console

  1. Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。

    Dataproc Metastore に移動

  2. [Dataproc Metastore] ページの上部にある [作成] をクリックします。

    [Create service] ページが開きます。

  3. 必要に応じてサービスを構成します。

  4. [暗号化] で、[顧客管理の暗号鍵(CMEK)を使用する] をクリックします。

  5. 顧客管理の暗号鍵を選択します。

  6. [送信] をクリックします。

サービスの暗号化構成を確認します。

  1. Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。

    Google Cloud コンソールに移動

  2. [Dataproc Metastore] ページで、表示するサービスの名前をクリックします。

    対象のサービスのサービスの詳細ページが開きます。

  3. [構成] タブで、詳細で CMEK が有効になっていることを確認します。

gcloud

  1. CMEK 暗号化を使用してサービスを作成するために、gcloud metastore services create コマンドを実行します。

    gcloud metastore services create SERVICE \
       --encryption-kms-key=KMS_KEY
    

    次のように置き換えます。

    • SERVICE: 新規サービスの名前。
    • KMS_KEY: 鍵のリソース ID を参照します。
  2. 正常に作成されたことを確認します。

Google が提供する暗号鍵で保護されている Dataproc Metastore データ

Cloud Monitoring データベースは CMEK 暗号化をサポートしていません。代わりに、Google Cloud は Google の暗号鍵を使用して Dataproc Metastore サービスの名前とサービス構成を保護します。

CMEK 対応サービスとの間でデータのインポートとエクスポートを行う

顧客管理の暗号鍵を使用してデータをインポート時に暗号化されたままにする場合は、データのインポート前に Cloud Storage バケットで CMEK を設定する必要があります。

CMEK で保護されていない Cloud Storage バケットからインポートできます。インポート後、Dataproc Metastore に保存されるデータは、宛先サービスの CMEK 設定に従って保護されます。

エクスポート時に、エクスポートされたデータベース ダンプは、エクスポート先のストレージ バケットの CMEK 設定に従って保護されます。

Dataproc Metastore に関する CMEK の注意点

  • CMEK 対応サービスの CMEK を無効または削除すると、そのサービスは使用不能になり、復元できなくなります。

    • データが永久に失われます。
  • 顧客管理の暗号鍵を既存のサービスで有効にすることはできません。

  • CMEK 対応サービスで使用されている鍵はローテーションできません。

  • CMEK 対応サービスは、Data Catalog の同期をサポートしていません。CMEK 対応サービスを更新して Data Catalog の同期を有効にすると失敗します。両方の機能を有効にして新しいサービスを作成することはできません。

  • 顧客管理の暗号鍵を使用して、ユーザークエリやレスポンスなどの送信中のユーザーデータを暗号化することはできません。

  • Cloud EKM 鍵を使用する場合、Google は外部管理鍵の可用性をコントロールできません。Dataproc Metastore サービスの作成期間中に鍵が使用不能になると、サービスの作成は失敗します。Dataproc Metastore サービスが作成された後、鍵が使用できなくなると、鍵が使用可能になるまでサービスは使用できなくなります。外部鍵を使用する際のその他の考慮事項については、Cloud EKM の考慮事項をご覧ください。

次のステップ