本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
加密 Amazon Aurora 資源
無論在內部部署用戶端和 Amazon Aurora 之間移動,還是在 Amazon Aurora 和其他 AWS 資源之間移動,Amazon Aurora 都會保護您的靜態和傳輸中資料。Amazon Aurora 會加密 Amazon Aurora 資料庫叢集中的所有使用者資料,包括日誌、自動備份和快照。
資料加密後, Amazon Aurora 會以透明的方式處理資料的存取和解密身分驗證,且對效能的影響最小。您不需要修改資料庫用戶端應用程式即可使用加密。
注意
對於加密和未加密的資料庫叢集,即使跨 AWS 區域複寫,來源和僅供讀取複本之間傳輸的資料也會加密。
主題
Amazon Aurora 資源中的加密概觀
Amazon Aurora 加密資料庫叢集可以保護您的資料,避免基礎儲存體受到未經授權人員的存取,為資料提供另一層保護。在 Amazon Aurora 中於 2026 年 2 月 18 或之後建立的所有新資料庫叢集,都會使用業界標準的 AES-256 加密進行靜態加密。此加密會在背景自動執行,保護您的資料,而不需要您採取任何動作。它還有助於減少保護敏感資料涉及的操作負擔和複雜性。透過靜態加密,您可以保護對合規敏感和安全至關重要的應用程式,防範意外和惡意威脅,同時符合法規要求。
Amazon Aurora 使用 AWS Key Management Service 金鑰來加密這些資源。 AWS KMS 結合安全、高可用性的硬體和軟體,以提供針對雲端擴展的金鑰管理系統。建立新的資料庫叢集時,Amazon Aurora 預設會使用 伺服器端加密 (SSE) 搭配 AWS擁有的金鑰。不過,您可以根據您的安全和合規需求,從三種加密類型中選擇:
-
AWS 擁有的金鑰 (SSE-RDS) – 您無法檢視或管理的完全 AWS控制加密金鑰,由 Aurora 自動用於預設加密。
-
AWS 受管金鑰 (AMK) – 此金鑰是由 建立和管理 AWS ,並且會顯示在您的帳戶中,但無法自訂。不收取月費,但需支付 AWS KMS API 費用。
-
客戶受管金鑰 (CMK) – 金鑰存放在您的帳戶中,由您建立、擁有和管理。您可以完全控制 KMS 金鑰 (需支付AWS KMS 費用)。
AWS 受管金鑰是舊版加密選項,可保持回溯相容性。根據預設,Amazon Aurora 會使用擁有 AWS的金鑰來加密您的資料,提供強大的安全性保護,而不會產生額外費用或管理開銷。對於大多數使用案例,我們建議您使用預設 AWS擁有的金鑰來簡化和提高成本效益,如果您需要完全控制加密金鑰,則建議使用客戶受管金鑰 (CMK)。如需金鑰類型的詳細資訊,請參閱客戶受管金鑰和 AWS 受管金鑰。
注意
重要:對於 2026 年 2 月 18 日之前建立的來源資料庫執行個體或叢集,如果您未選擇加入從這些來源建立的加密、快照、複製和 Amazon Aurora 複本 (讀取執行個體),則不會加密。 不過,Amazon Aurora 叢集之外的還原操作和邏輯複寫會產生加密的執行個體。
針對 Amazon Aurora 加密資料庫叢集,所有資料庫執行個體、日誌、備份和快照都會加密。如需加密可用性和限制的詳細資訊,請參閱 Amazon Aurora 加密的可用性 和 Amazon Aurora 加密資料庫叢集的限制。
當您建立加密的資料庫叢集時,您可以選擇客戶受管金鑰或 Amazon Aurora AWS 受管金鑰 的 來加密資料庫叢集,如果您未指定客戶受管金鑰的金鑰識別符,Amazon Aurora 會將 AWS 受管金鑰 用於新的資料庫叢集。Amazon Aurora 會為 AWS 您的帳戶建立 AWS 受管金鑰 適用於 Amazon Aurora 的 。每個區域的 AWS 受管金鑰 Amazon Aurora AWS AWS 帳戶都有不同的 。
若要管理用於加密和解密 Amazon Aurora 資源的客戶受管金鑰,您可以使用 AWS Key Management Service (AWS KMS)。
使用 AWS KMS,您可以建立客戶受管金鑰並定義政策來控制這些客戶受管金鑰的使用。 AWS KMS 支援 CloudTrail,因此您可以稽核 KMS 金鑰用量,以確認客戶受管金鑰是否適當使用。您可以使用客戶受管金鑰搭配 Amazon Aurora 和支援 AWS 的服務,例如 Amazon S3、Amazon EBS 和 Amazon Redshift。如需與 整合的服務清單 AWS KMS,請參閱AWS 服務整合
-
建立加密的資料庫執行個體後,您就無法變更該執行個體所使用的 KMS 金鑰。在建立加密的資料庫執行個體之前,請務必判斷您的 KMS 金鑰需求。如果您需要變更資料庫叢集的加密金鑰,請遵循下列步驟:
-
建立叢集的手動快照。
-
在還原操作期間,還原快照並使用所需的 KMS 金鑰啟用加密。
-
-
如果您還原未加密快照並選擇不加密,則建立的資料庫叢集將使用預設靜態加密 (擁有AWS的金鑰) 進行加密。
-
您無法共用已使用共用快照 AWS 受管金鑰 之 AWS 帳戶的 加密的快照。
-
資料庫叢集中的每個資料庫執行個體都會共用使用相同 KMS 金鑰加密的相同儲存體。
重要
當您停用 KMS 金鑰時,Amazon Aurora 可能會失去對資料庫叢集 KMS 金鑰的存取權。在這些情況下,加密的資料庫叢集會進入 inaccessible-encryption-credentials-recoverable 狀態。資料庫叢集會保持此狀態七天,在此期間執行個體會停止。在此期間對資料庫叢集發出的 API 呼叫可能無法成功。若要復原資料庫叢集,請啟用 KMS 金鑰並重新啟動此資料庫叢集。您可以從 AWS 管理主控台 AWS CLI、 或 RDS API 啟用 KMS 金鑰。使用 AWS CLI 命令 start-db-cluster 或 重新啟動資料庫叢集 AWS 管理主控台。
inaccessible-encryption-credentials-recoverable 狀態僅適用於可停止的資料庫叢集。此可復原狀態不適用於無法停止的執行個體,例如具有跨區域讀取複本的叢集。如需詳細資訊,請參閱停用和啟動 Aurora 資料庫叢集的限制。
如果資料庫叢集未在七天內復原,它會進入終端 inaccessible-encryption-credentials 狀態。在此狀態下,資料庫叢集不再可用,您只能從備份還原資料庫叢集。我們強烈建議您一律開啟備份,以防止資料庫中的資料遺失。
在建立資料庫叢集期間,Aurora 會檢查呼叫主體是否可以存取 KMS 金鑰,並從其在資料庫叢集的整個生命週期內使用的 KMS 金鑰產生授予。撤銷呼叫主體對 KMS 金鑰的存取權不會影響執行中的資料庫。在跨帳戶案例中使用 KMS 金鑰時,例如將快照複製到另一個帳戶,則需要與其他帳戶共用 KMS 金鑰。如果您從快照建立資料庫叢集,但未指定不同的 KMS 金鑰,則新叢集會使用來源帳戶的 KMS 金鑰。在您建立資料庫叢集之後撤銷對金鑰的存取權不會影響叢集。不過,停用金鑰會影響使用該金鑰進行加密的所有資料庫叢集。若要防止這種情況,請在快照複製操作期間指定不同的金鑰。
如需 KMS 金鑰的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》和 AWS KMS key 管理 中的 AWS KMS keys。
加密 Amazon Aurora 資料庫叢集
根據預設,在 2026 年 2 月 18 日當天或之後建立的所有新資料庫叢集都會使用 AWS 擁有的金鑰加密。
若要使用 AWS 受管金鑰 或客戶受管金鑰加密新的資料庫叢集,請選擇 主控台上的 選項。如需建立資料庫叢集的詳細資訊,請參閱建立 Amazon Aurora 資料庫叢集。
如果您使用 create-db-cluster AWS CLI 命令來建立加密的資料庫叢集,請設定 --storage-encrypted 參數。若您使用 CreateDBCluster API 操作,請將 StorageEncrypted 參數設為 true。
一旦建立了加密的資料庫叢集之後,您就無法變更該資料庫叢集使用的 KMS 金鑰。因此,請務必在建立加密的資料庫叢集前,先決定您的 KMS 金鑰要求。
如果您使用 AWS CLI create-db-cluster 命令來建立具有客戶受管金鑰的加密資料庫叢集,請將 --kms-key-id 參數設定為 KMS 金鑰的任何金鑰識別符。如果您使用 Amazon RDS API CreateDBInstance 作業,請將 KmsKeyId 參數設定為 KMS 金鑰的任何金鑰識別碼。若要在不同帳戶中使用客戶受管金鑰 AWS ,請指定金鑰 ARN 或別名 ARN。
決定是否為資料庫叢集開啟加密
您可以使用 AWS 管理主控台 AWS CLI或 RDS API 來判斷資料庫叢集是否開啟靜態加密。
決定是否為資料庫叢集開啟靜態加密。
登入 AWS 管理主控台 並開啟位於 https://https://console.aws.amazon.com/rds/
的 Amazon RDS 主控台。 -
在導覽窗格中,選擇 Databases (資料庫)。
-
選擇您要檢查的資料庫叢集名稱,以檢視其詳細資訊。
-
選擇 Configuration (組態) 索引標籤,然後勾選 Encryption (加密) 值。
若要使用 判斷資料庫叢集是否開啟靜態加密 AWS CLI,請使用下列選項呼叫 describe-db-clusters 命令:
-
--db-cluster-identifier– 資料庫叢集的名稱。
下列範例會使用查詢,為 mydb 資料庫叢集傳回關於靜態加密的 TRUE 或 FALSE。
範例
aws rds describe-db-clusters --db-cluster-identifiermydb--query "*[].{StorageEncrypted:StorageEncrypted}" --output text
若要使用 Amazon RDS API 來決定是否為資料庫叢集開啟靜態加密,請呼叫 DescribeDBClusters 作業,搭配下列參數:
-
DBClusterIdentifier– 資料庫叢集的名稱。
Amazon Aurora 加密的可用性
所有資料庫引擎和儲存體類型目前都可以使用 Amazon Aurora 加密。
注意
db.t2.micro 資料庫執行個體類別無法使用 Amazon Aurora 加密。
傳輸中加密
- 在實體層加密
-
在離開 AWS 安全設施之前, AWS 區域 透過 AWS 全球網路周遊的所有資料都會在實體層自動加密。AZ 之間的所有流量都會加密。額外的加密層 (包括本節所列的加密層) 可能會提供額外的保護。
- Amazon VPC 對等互連和 Transit Gateway 跨區域對等互連提供的加密
-
所有使用 Amazon VPC 和 Transit Gateway 對等互連的跨區域流量都會在離開區域時自動進行批量加密。在離開 AWS 安全設施之前,會在實體層自動為所有流量提供另一層加密。
- 執行個體間的加密
-
AWS 在所有類型的資料庫執行個體之間提供安全和私有連線。此外,某些執行個體類型使用基礎 Nitro System 硬體的卸載功能,以自動加密執行個體之間的傳輸中流量。此加密機制使用帶有關聯資料的認證加密 (AEAD) 演算法 (採用 256 位元加密)。這對網路效能沒有影響。若要支援執行個體之間額外的傳輸中流量加密,必須符合下列要求:
-
執行個體使用下列執行個體類型:
-
一般用途:M6i、M6id、M6in、M6idn、M7g
-
記憶體最佳化:R6i、R6id、R6in、R6idn、R7g、X2idn、X2iedn、X2iezn
-
-
這些執行個體位於相同的 AWS 區域中。
-
這些執行個體位於相同的 VPC 或對等 VPC 中,且流量不會經過虛擬網路裝置或服務,例如負載平衡器或傳輸閘道。
-
Amazon Aurora 加密資料庫叢集的限制
Amazon Aurora 加密資料庫叢集具有下列限制:
-
您無法在加密的資料庫叢集上關閉加密。
-
如果您有現有的未加密叢集,從該叢集建立的所有快照也會未加密。若要從未加密的叢集建立加密快照,您必須在複製操作期間複製快照並指定客戶受管金鑰。如果未指定客戶受管金鑰,您無法從未加密的快照建立加密的快照。
-
您無法建立未加密資料庫的加密快照。
-
加密資料庫叢集的快照必須使用與資料庫叢集相同的 KMS 金鑰進行加密。
-
您無法將未加密的資料庫叢集轉換為已加密的叢集。但是,您可以將未加密的快照還原至加密的 Aurora 資料庫叢集。若要執行此作業,請在從未加密的快照還原時指定 KMS 金鑰。
-
如果您有現有的未加密叢集,從該叢集建立的任何 Amazon Aurora 複本 (讀取執行個體) 也會未加密。若要從未加密的叢集建立加密的叢集,您需要還原資料庫叢集。還原的叢集預設會在還原操作後加密。
-
若要將加密快照從一個 AWS 區域複製到另一個 AWS 區域,您必須在目的地區域中指定 KMS 金鑰。這是因為 KMS 金鑰專屬於其建立所在的 AWS 區域。
在整個複製過程中來源快照仍會保持加密狀態。Amazon Aurora 會在複製過程中使用信封加密來保護資料。如需信封加密的詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的信封加密。
-
您無法解密加密的資料庫叢集。但是,您可以從加密的資料庫叢集 匯出資料,然後將資料匯入未加密的資料庫叢集。