中的靜態加密 ElastiCache - Amazon ElastiCache

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

中的靜態加密 ElastiCache

為了協助保護資料安全,Amazon ElastiCache 和 Amazon S3 提供不同的方法,以限制對快取中資料的存取。如需詳細資訊,請參閱 Amazon VPCs和安全性 ElastiCache Amazon 的身分和存取管理 ElastiCache

ElastiCache 靜態加密是一項透過加密磁碟上資料來提高資料安全性的功能。此功能在無伺服器快取上一律為啟用狀態。啟用時,此功能會加密下列層面:

  • 同步、備份和交換操作期間的磁碟

  • 存放在 Amazon S3 中的備份

在啟用資料分層的叢集中存放於 SSDs(固態磁碟機) 的資料一律會加密。

ElastiCache 提供靜態的預設 (服務受管) 加密,以及能夠在 AWS Key Management Service (KMS) 中使用您自己的對稱客戶受管 AWS KMS金鑰。備份快取後,在加密選項中,選擇要使用預設加密金鑰或客戶受管金鑰。如需詳細資訊,請參閱啟用靜態加密

注意

預設 (服務受管) 加密是 GovCloud (美國) 區域中唯一可用的選項。

重要

在現有的自我設計 Valkey 或 Redis OSS叢集上啟用靜態加密涉及在複寫群組上執行備份和還原刪除現有的複寫群組。

只有在快取上建立複寫群組後,才能啟用靜態加密。因為要加密和解密資料需要經過一些處理,因此在這些操作期間啟用靜態加密可能會影響效能。您應該針對使用靜態加密和未使用靜態加密的資料進行基準分析,以判斷對使用案例的效能影響。

靜態加密條件

當您規劃 ElastiCache 靜態加密實作時,應謹記下列靜態 ElastiCache 加密限制:

  • 執行 Valkey 7.2 和更新版本以及 Redis OSS版本 (排程為 的 3.2.6EOL,請參閱 Redis OSS版本生命週期結束排程 )、4.0.10 或更新版本的複寫群組支援靜態加密。

  • 只有 Amazon 中執行的複寫群組才支援靜態加密VPC。

  • 靜態加密僅支援執行下列節點類型的複寫群組。

    • R6gd、R6g、R5、R4、R3

    • M6、M5、M4、M3

    • T4g、T3、T2

    如需詳細資訊,請參閱 支援的節點類型

  • 透過將參數 AtRestEncryptionEnabled 明確設定為 true,可啟用靜態加密。

  • 您只能在建立複寫群組時,於複寫群組上啟用靜態加密。您無法透過修改複寫群組來將靜態加密切換為開啟和關閉。如需如何在現有複寫群組上實作靜態加密的資訊,請參閱啟用靜態加密

  • 如果叢集使用來自 r6gd 系列的節點類型,無論靜態SSD加密是否已啟用,儲存在 上的資料都會加密。

  • 在 AWS GovCloud (us-gov-east-1 和 us-gov-west-1) 區域中,無法使用客戶受管金鑰進行靜態加密的選項。

  • 如果叢集使用來自 r6gd 系列的節點類型,儲存在 上的資料SSD會使用選取的客戶受管 AWS KMS金鑰 (或 AWS GovCloud 區域中的服務受管加密) 加密。

  • 使用 Memcached 時,僅無伺服器快取支援靜態加密。

  • 使用 Memcached 時,在 GovCloud (us-gov-east-1 和 us-gov-west-1) 區域中無法使用 AWS 靜態加密的客戶受管金鑰選項。

實作靜態加密可能會在備份和節點同步操作期間降低效能。針對您自己的資料進行靜態加密與無加密的基準分析比較,以判斷對實作的效能影響。

使用來自 的客戶受管金鑰 AWS KMS

ElastiCache 支援靜態加密的對稱客戶受管 AWS KMS金鑰 (KMS 金鑰)。客戶受管KMS金鑰是您在 AWS 帳戶中建立、擁有和管理的加密金鑰。如需詳細資訊,請參閱 AWS KMS Key AWS Management Service 開發人員指南 中的金鑰。金鑰必須先在 中 AWS KMS建立,才能與 搭配使用 ElastiCache。

若要了解如何建立 AWS KMS根金鑰,請參閱金鑰管理服務開發人員指南中的建立AWS 金鑰

ElastiCache 可讓您與 整合 AWS KMS。如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的使用授權。啟用 Amazon 與 ElastiCache 整合不需要客戶動作 AWS KMS。

kms:ViaService 條件金鑰會將金鑰 AWS KMS (KMS 金鑰) 的使用限制為來自指定 AWS 服務的請求。若要kms:ViaService搭配 使用 ElastiCache,請在條件索引鍵值中包含這兩個 ViaService 名稱: elasticache.AWS_region.amazonaws.com.rproxy.goskope.comdax.AWS_region.amazonaws.com。如需詳細資訊,請參閱 kms:ViaService

您可以使用 AWS CloudTrail 來追蹤 Amazon 代表您 ElastiCache 傳送至 AWS Key Management Service 的請求。所有與客戶受管金鑰 AWS Key Management Service 相關的 API呼叫都有對應的 CloudTrail 日誌。您也可以透過呼叫來查看 ElastiCache 建立的授予ListGrantsKMSAPI。

使用客戶受管金鑰對複寫群組進行加密後,複寫群組的所有備份都會依以下方式進行加密:

  • 自動每日備份會使用與叢集關聯的客戶受管金鑰來進行加密。

  • 複寫群組被刪除時所建立的最終備份,也使用與複寫群組關聯的客戶受管金鑰進行加密。

  • 根據預設,手動建立的備份會加密,以使用與複寫群組相關聯的KMS金鑰。您可以透過選擇其他客戶受管金鑰來覆寫此選項。

  • 複製備份預設為使用與來源備份關聯的客戶受管金鑰。您可以透過選擇其他客戶受管金鑰來覆寫此選項。

注意
  • 將備份匯出到所選 Amazon S3 儲存貯體時,無法使用客戶受管金鑰。不過,匯出至 Amazon S3 的所有備份都使用伺服器端加密來加密。您可以選擇將備份檔案複製到新的 S3 物件並使用客戶受管KMS金鑰加密、將檔案複製到使用KMS金鑰設定預設加密的另一個 S3 儲存貯體,或變更檔案本身中的加密選項。

  • 您也可以使用客戶受管金鑰,為不是使用客戶受管金鑰進行加密的複寫群組,加密手動建立的備份。使用此選項,即使原始複寫群組上的資料未加密,Amazon S3 中儲存的備份檔案仍會使用KMS金鑰加密。

從備份還原可讓您從可用的加密選項中進行選擇,類似於建立新複寫群組時可用的加密選項。

  • 如果刪除金鑰或停用金鑰,並針對您用來加密快取的金鑰撤銷授權,則快取將變成無法恢復。換句話說,它無法在硬體故障後修改或復原。 AWS KMS 只會在至少七天的等待期後刪除根金鑰。金鑰刪除後,您可以使用其他客戶受管金鑰建立備份以用於封存。

  • 自動金鑰輪換會保留根金鑰的 AWS KMS屬性,因此輪換不會影響您存取 ElastiCache 資料的能力。加密的 Amazon ElastiCache 快取不支援手動金鑰輪換,這涉及建立新的根金鑰,以及更新對舊金鑰的任何參考。若要進一步了解,請參閱 AWS Key Management Service 開發人員指南中的輪換 AWS KMS金鑰

  • 使用KMS金鑰加密 ElastiCache 快取需要每個快取授予一次。此授權將在快取的整個生命週期中使用。此外,在備份建立期間,每個備份會使用一個授權。建立備份後,此授權就會淘汰。

  • 如需授予和限制的詳細資訊 AWS KMS,請參閱 AWS Key Management Service 開發人員指南中的限制

啟用靜態加密

所有無伺服器快取都會啟用靜態加密。

建立自行設計的叢集時,您可以藉由將參數 AtRestEncryptionEnabled 設定為 true 來啟用靜態加密。您無法在現有複寫群組上啟用靜態加密。

您可以在建立 ElastiCache 快取時啟用靜態加密。您可以使用 AWS Management Console、 AWS CLI或 來執行此操作 ElastiCache API。

建立快取時,您可以選擇下列其中一個選項:

  • 預設 – 此選項使用服務管理的靜態加密。

  • 客戶受管金鑰 – 此選項可讓您提供金鑰 ID/ARN 來自 AWS KMS ,以進行靜態加密。

若要了解如何建立 AWS KMS根金鑰,請參閱 AWS Key Management Service 開發人員指南中的建立金鑰

您只能在建立 Valkey 或 Redis OSS複寫群組時啟用靜態加密。如果您想要啟用現有複寫群組的靜態加密,請執行下列動作。

啟用現有複寫群組的靜態加密
  1. 建立您現有複寫群組的手動備份。如需詳細資訊,請參閱「取得手動備份」。

  2. 透過從備份還原來建立新的複寫群組。在新的複寫群組上,啟用靜態加密。如需詳細資訊,請參閱從備份還原到新的快取

  3. 更新應用程式中的端點以指向新的複寫群組。

  4. 刪除舊的複寫群組。如需詳細資訊,請參閱 在 中刪除叢集 ElastiCache刪除複寫群組

使用 啟用靜態加密 AWS Management Console

所有無伺服器快取都會啟用靜態加密。根據預設, AWS擁有的KMS金鑰會用來加密資料。若要選擇您自己的 AWS KMS 金鑰,請進行下列選擇:

  • 展開預設設定區段。

  • 預設設定區段下選擇自訂預設設定

  • 安全性區段下選擇自訂安全性設定

  • 加密金鑰設定下選擇客戶受管CMK

  • AWS KMS 金鑰設定下選擇一個金鑰。

自行設計快取時,採用「輕鬆建立」方法的「開發/測試」和「生產」組態會使用預設金鑰啟用靜態加密。當您自行選擇組態時,請進行下列選擇:

  • 選擇 3.2.6、4.0.10 或更新版本做為引擎版本。

  • 按一下靜態加密選項的啟用旁的核取方塊。

  • 選擇預設金鑰客戶受管 CMK

如需此程序 step-by-step,請參閱下列內容:

使用 啟用靜態加密 AWS CLI

若要在使用 建立 Valkey 或 Redis OSS叢集時啟用靜態加密 AWS CLI,請在建立複寫群組時使用 --at-rest-encryption-enabled 參數。

下列操作會建立my-classic-rg具有三個節點 OSS(--num-cache-clusters)、一個主要複本和兩個僅供讀取複本的 Valkey 或 Redis (停用叢集模式) 複寫群組。此複寫群組 (--at-rest-encryption-enabled) 已啟用靜態加密。

若要啟用此複寫群組的加密,您必須使用下列參數和值:

重要參數
  • --engine—必須為 valkeyredis

  • --engine-version—如果引擎是 Redis OSS,則必須為 3.2.6、4.0.10 或更新版本。

  • --at-rest-encryption-enabled - 啟用靜態加密的必要項目。

範例 1:具有複本的 Valkey 或 Redis OSS(停用叢集模式) 叢集

若為 Linux、macOS 或 Unix:

aws elasticache create-replication-group \ --replication-group-id my-classic-rg \ --replication-group-description "3 node replication group" \ --cache-node-type cache.m4.large \ --engine redis \ --at-rest-encryption-enabled \ --num-cache-clusters 3

針對 Windows:

aws elasticache create-replication-group ^ --replication-group-id my-classic-rg ^ --replication-group-description "3 node replication group" ^ --cache-node-type cache.m4.large ^ --engine redis ^ --at-rest-encryption-enabled ^ --num-cache-clusters 3 ^

如需其他資訊,請參閱以下內容:

 

下列操作會建立my-clustered-rg具有三個節點群組或碎片 OSS(--num-node-groups) 的 Valkey 或 Redis (啟用叢集模式) 複寫群組。每個 都有三個節點,一個主要和兩個僅供讀取複本 (--replicas-per-node-group)。此複寫群組 (--at-rest-encryption-enabled) 已啟用靜態加密。

若要啟用此複寫群組的加密,您必須使用下列參數和值:

重要參數
  • --engine—必須為 valkeyredis

  • --engine-version- 如果引擎是 Redis OSS,則必須為 4.0.10 或更新版本。

  • --at-rest-encryption-enabled - 啟用靜態加密的必要項目。

  • --cache-parameter-group - 必須為 default-redis4.0.cluster.on 或其衍生項目,才能成為啟用複寫群組的叢集模式。

範例 2:Valkey 或 Redis OSS(啟用叢集模式) 叢集

若為 Linux、macOS 或 Unix:

aws elasticache create-replication-group \ --replication-group-id my-clustered-rg \ --replication-group-description "redis clustered cluster" \ --cache-node-type cache.m3.large \ --num-node-groups 3 \ --replicas-per-node-group 2 \ --engine redis \ --engine-version 6.2 \ --at-rest-encryption-enabled \ --cache-parameter-group default.redis6.x.cluster.on

針對 Windows:

aws elasticache create-replication-group ^ --replication-group-id my-clustered-rg ^ --replication-group-description "redis clustered cluster" ^ --cache-node-type cache.m3.large ^ --num-node-groups 3 ^ --replicas-per-node-group 2 ^ --engine redis ^ --engine-version 6.2 ^ --at-rest-encryption-enabled ^ --cache-parameter-group default.redis6.x.cluster.on

如需其他資訊,請參閱以下內容:

另請參閱