本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
加密 Amazon Aurora 資源
Amazon Aurora 可加密您的 Amazon Aurora 資料庫叢集。經過加密的待用資料包含資料庫叢集的基礎儲存體、自動化備份、僅供讀取複本和快照。
Amazon Aurora 加密資料庫叢集會使用業界標準 AES-256 加密演算法,來加密託管 Amazon Aurora 資料庫叢集伺服器上的資料。資料加密後,Amazon Aurora 將以透明的方式處理存取身分驗證和資料解密,同時將對效能的影響降至最小。您不需要修改資料庫用戶端應用程式即可使用加密。
注意
對於加密和未加密的資料庫叢集,即使跨 AWS 區域複寫,來源和僅供讀取複本之間傳輸的資料也會加密。
主題
加密 Amazon Aurora 資源概觀
Amazon Aurora 加密資料庫叢集可以保護您的資料,避免基礎儲存體受到未經授權人員的存取,為資料提供另一層保護。您可以使用 Amazon Aurora 加密提高部署於雲端中應用程式的資料保護,以及滿足靜態加密的合規要求。針對 Amazon Aurora 加密資料庫叢集,所有資料庫執行個體、日誌、備份和快照都會加密。如需加密可用性和限制的詳細資訊,請參閱 Amazon Aurora 加密的可用性和 Amazon Aurora 加密資料庫叢集的限制。
Amazon Aurora 使用 AWS Key Management Service 金鑰來加密這些 resources. AWS KMS combines 安全、高可用性的硬體和軟體,以提供針對雲端擴展的金鑰管理系統。您可以使用 AWS 受管金鑰,也可以建立客戶受管金鑰。
建立加密的資料庫叢集時,您可以選擇客戶受管金鑰或 AWS 受管金鑰 ,讓 Amazon Aurora 加密資料庫叢集。如果您未指定客戶受管金鑰的金鑰識別符,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 金鑰要求。
如果您必須變更資料庫叢集的加密金鑰,請建立叢集的手動快照,並在複製快照時啟用加密。如需詳細資訊,請參閱 re:Post 知識文章
。 -
如果您複製加密的快照,您可以使用不同的 KMS 金鑰來加密目標快照,而不是使用用來加密來源快照的 KMS 金鑰。
-
您無法共用已使用共用快照 AWS 受管金鑰 之 AWS 帳戶的 加密的快照。
-
資料庫叢集中的每個資料庫執行個體都會使用與資料庫叢集相同的 KMS 金鑰進行加密。
-
您也可以將 Amazon Aurora 加密叢集的僅供讀取複本加密。
重要
當您停用 KMS 金鑰時,Amazon Aurora 可能會失去資料庫叢集的 KMS 金鑰存取權。在這些情況下,加密的資料庫叢集會進入 inaccessible-encryption-credentials-recoverable
狀態。資料庫叢集會保持此狀態七天,在此期間執行個體會停止。在此期間對資料庫叢集發出的 API 呼叫可能不會成功。若要復原資料庫叢集,請啟用 KMS 金鑰並重新啟動此資料庫叢集。從 AWS Management Console AWS CLI、 或 RDS API 啟用 KMS 金鑰。使用 AWS CLI 命令 start-db-cluster 或 重新啟動資料庫叢集 AWS Management Console。
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 資料庫叢集
若要加密新資料庫叢集,請在主控台上選擇 Enable encryption (啟用加密)。如需建立資料庫叢集的詳細資訊,請參閱建立 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 Management Console AWS CLI或 RDS API 來判斷資料庫叢集的靜態加密是否已開啟。
決定是否為資料庫叢集開啟靜態加密。
登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/
:// 開啟 Amazon RDS 主控台。 -
在導覽窗格中,選擇 Databases (資料庫)。
-
選擇您要檢查的資料庫叢集名稱,以檢視其詳細資訊。
-
選擇 Configuration (組態) 索引標籤,然後勾選 Encryption (加密) 值。
其會顯示 Enabled (已啟用) 或 Not enabled (未啟用)。
若要使用 判斷資料庫叢集是否開啟靜態加密 AWS CLI,請使用下列選項呼叫 describe-db-clusters 命令:
-
--db-cluster-identifier
– 資料庫叢集的名稱。
下列範例會使用查詢,為 mydb
資料庫叢集傳回關於靜態加密的 TRUE
或 FALSE
。
範例
aws rds describe-db-clusters --db-cluster-identifier
mydb
--query "*[].{StorageEncrypted:StorageEncrypted}" --output text
若要使用 Amazon RDS API 來決定是否為資料庫叢集開啟靜態加密,請呼叫 DescribeDBClusters 作業,搭配下列參數:
-
DBClusterIdentifier
– 資料庫叢集的名稱。
Amazon Aurora 加密的可用性
所有資料庫引擎和儲存體類型目前都可以使用 Amazon Aurora 加密。
注意
db.t2.micro 資料庫執行個體類別無法使用 Amazon Aurora 加密。
傳輸中加密
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 金鑰。
-
您無法從未加密的 Aurora 資料庫叢集建立加密的 Aurora 複本。您無法從加密的 Aurora 資料庫叢集建立未加密的 Aurora 複本。
-
若要將加密快照從一個 AWS 區域複製到另一個 AWS 區域,您必須在目的地區域中指定 KMS 金鑰。這是因為 KMS 金鑰專屬於 AWS 它們建立的區域。
在整個複製過程中來源快照仍會保持加密狀態。Amazon Aurora 會在複製過程中使用信封加密來保護資料。如需信封加密的詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的信封加密。
-
您無法解密加密的資料庫叢集。但是,您可以從加密的資料庫叢集 匯出資料,然後將資料匯入未加密的資料庫叢集。