使用客戶自行管理的加密金鑰 (CMEK)

使用客戶自行管理的加密金鑰 (CMEK) 時,您可以控管金鑰。並控管防護等級、位置、輪替時間表、使用權限和存取權,以及加密範圍。您可以在 Cloud Key Management Service (KMS) 中控制及管理用來保護您資料的對稱金鑰加密金鑰 (KEK),而不是由 Google 擁有及管理。

事前準備

  1. 確認您的使用者帳戶具有 Redis 管理員角色

    前往「IAM」頁面

建立使用 CMEK 的叢集的工作流程

  1. 在您希望 Memorystore for Redis Cluster 叢集所在的區域,建立金鑰環金鑰

  2. 複製或記下金鑰名稱 (KEY_NAME)、金鑰位置和金鑰環名稱 (KEY_RING)。授予服務帳戶金鑰存取權時,您需要這些資訊。

  3. 授予 Memorystore for Redis Cluster 服務帳戶金鑰存取權

  4. 前往專案,並在與金鑰環和金鑰相同的區域中,建立已啟用 CMEK 的 Memorystore for Redis Cluster 叢集

叢集現已啟用 CMEK。

建立金鑰環和金鑰

建立金鑰環金鑰。 兩者都必須與 Memorystore for Redis Cluster 中的叢集位於相同區域。金鑰可以來自不同專案,只要金鑰位於相同區域即可。此外,金鑰必須使用對稱式加密演算法

建立金鑰環和金鑰後,請複製或記下 KEY_NAME、金鑰位置和 KEY_RING。授權服務帳戶存取金鑰時,您需要這項資訊。

授予 Memorystore for Redis Cluster 服務帳戶金鑰存取權

如要在 Memorystore for Redis Cluster 中建立使用 CMEK 的叢集,您必須先授予特定 Memorystore for Redis Cluster 服務帳戶金鑰存取權。

您可以使用 gcloud CLI 授予服務帳戶金鑰存取權。如要授予服務帳戶存取權,請使用下列格式:

  service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
  

gcloud

如要授予服務帳戶金鑰存取權,請使用 gcloud kms keys add-iam-policy-binding 指令。

gcloud kms keys add-iam-policy-binding  \
projects/PROJECT_ID/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

請將下列項目改為對應的值:

  • PROJECT_ID:包含金鑰環的專案 ID 或編號
  • REGION_ID:金鑰環所在的區域
  • KEY_RING:包含金鑰的金鑰環名稱
  • KEY_NAME:要授予服務帳戶存取權的金鑰名稱
  • PROJECT_NUMBER:服務帳戶所在專案的 ID 或編號

建立使用 CMEK 的叢集

您可以使用 gcloud CLI 建立使用 CMEK 的叢集。

gcloud

如要建立使用 CMEK 的叢集,請使用 gcloud redis clusters create 指令。

gcloud redis clusters create CLUSTER_ID \
--project=PROJECT_NAME \
--region=REGION_ID \
--network=NETWORK_ID \
--kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--shard-count=SHARD_NUMBER \
--persistence-mode=PERSISTENCE_MODE

請將下列項目改為對應的值:

  • CLUSTER_ID:您要建立的叢集 ID。
  • PROJECT_NAME:要在其中建立叢集的專案名稱。
  • REGION_ID:要讓叢集所在的區域 ID。
  • NETWORK_ID:您要用來建立叢集的網路 ID。
  • KEY_RING:金鑰所屬金鑰環的名稱。
  • KEY_NAME:金鑰名稱。
  • SHARD_NUMBER:叢集的分片數量。
  • PERSISTENCE_MODE:叢集的持續性模式。您可以將這個模式設為下列其中一個值:
    • aof:為叢集啟用以僅限附加檔案 (AOF) 為基礎的持續性。
    • disabled:停用叢集的持續性。
    • rdb:為叢集啟用以 Redis 資料庫 (RDB) 為基礎的持續性。

查看已啟用 CMEK 的叢集的重要資訊

您可以使用 gcloud CLI 查看已啟用 CMEK 的叢集相關資訊。這項資訊包括叢集是否已啟用 CMEK,以及作用中的金鑰。

gcloud

如要確認是否已啟用 CMEK 並查看金鑰參照,請使用 gcloud redis clusters describe 指令查看 encryptionInfokmsKey 欄位。

gcloud redis clusters describe CLUSTER_ID \
--project=PROJECT_NAME \
--region=REGION_ID

請將下列項目改為對應的值:

  • CLUSTER_ID:要查看資訊的叢集 ID
  • PROJECT_NAME:叢集所在專案的名稱
  • REGION_ID:叢集所在的區域 ID

管理金鑰版本

如要瞭解停用、刪除、輪替、啟用及還原金鑰版本時會發生什麼情況,請參閱「CMEK 金鑰版本的行為」。

如需如何停用及重新啟用金鑰版本的操作說明,請參閱「啟用及停用金鑰版本」。

如要瞭解如何刪除及還原金鑰版本,請參閱「刪除與還原金鑰版本」一文。

後續步驟