加密 Amazon Aurora 資源 - Amazon Aurora

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

加密 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 使用 AWS Key Management Service 金鑰來加密這些資源。如需 KMS 金鑰的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》AWS KMS key管理 中的 AWS KMS keys。資料庫叢集中的每個資料庫執行個體都會使用與資料庫叢集相同的 KMS 金鑰進行加密。如果您複製加密的快照,您可以使用不同的 KMS 金鑰來加密目標快照,而不是使用用來加密來源快照的 KMS 金鑰。

您可以使用 AWS 受管金鑰,也可以建立客戶管理的金鑰。若要管理用於加密和解密 Amazon Aurora 資源的客戶受管金鑰,請使用 AWS Key Management Service (AWS KMS)。 AWS KMS 結合了安全且高度可用的軟硬體,可提供針對雲端擴展的金鑰管理系統。您可以使用建立客戶受管金鑰 AWS KMS,並定義政策,以控制這些客戶受管金鑰的使用方式。 AWS KMS 支援 CloudTrail,因此您可以稽核 KMS 金鑰使用情況,以確認客戶受管金鑰是否正確使用。您可以將客戶受管金鑰與 Amazon Aurora 和支援的 AWS 服務 (例如 Amazon S3、Amazon EBS 和亞 Amazon Redshift) 搭配使用。如需與之整合的服務清單 AWS KMS,請參閱AWS 服務整合

加密 Amazon Aurora 資料庫叢集

若要加密新資料庫叢集,請在主控台上選擇 Enable encryption (啟用加密)。如需建立資料庫叢集的詳細資訊,請參閱建立 Amazon Aurora 資料庫叢集

如果您使用 Create-db-cluster AWS CLI 命令來建立加密的資料庫叢集,請設定參數。--storage-encrypted若您使用 CreateDBCluster API 操作,請將 StorageEncrypted 參數設為 true。

建立加密的資料庫叢集時,您可以選擇客戶受管金鑰或 AWS 受管金鑰 ,讓 Amazon Aurora 加密資料庫叢集。如果您沒有為客戶受管金鑰指定金鑰識別碼,Amazon Aurora 會將金鑰識別碼用 AWS 受管金鑰 於您的新資料庫叢集。Amazon Aurora AWS 受管金鑰 為您的 AWS 帳戶創建一個 Amazon Aurora。每個 AWS 區域的 Amazon Aurora AWS 帳戶都有不同 AWS 受管金鑰 的帳戶。

如需 KMS 金鑰的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的 AWS KMS keys

一旦建立了加密的資料庫叢集之後,您就無法變更該資料庫叢集使用的 KMS 金鑰。因此,請務必在建立加密的資料庫叢集前,先決定您的 KMS 金鑰要求。

如果您使用指 AWS CLI create-db-cluster令建立含有客戶管理金鑰的加密資料庫叢集,請將--kms-key-id參數設定為 KMS 金鑰的任何金鑰識別碼。如果您使用 Amazon RDS API CreateDBInstance 作業,請將 KmsKeyId 參數設定為 KMS 金鑰的任何金鑰識別碼。若要在不同的 AWS 帳戶中使用客戶受管金鑰,請指定金鑰 ARN 或別名 ARN。

重要

當您停用 KMS 金鑰時,Amazon Aurora 可能會失去對資料庫叢集之 KMS 金鑰的存取權。在這些情況下,加密的資料庫叢集很快就會進入inaccessible-encryption-credentials-recoverable狀態。資料庫叢集會維持此狀態七天,執行個體會在此期間停止。在此期間對資料庫叢集進行的 API 呼叫可能無法成功。若要復原資料庫叢集,請啟用 KMS 金鑰並重新啟動此資料庫叢集。從啟用 KMS 金鑰 AWS Management Console。使用 AWS CLI 命令 start-db-cluster 或 AWS Management Console重新啟動資料庫叢集。

如果資料庫叢集未在七天內復原,則會進入終端inaccessible-encryption-credentials狀態。在此狀態下,資料庫叢集無法再使用,您只能從備份還原資料庫叢集。強烈建議您始終為加密的資料庫叢集開啟備份,以防止資料庫中的加密資料遺失。

在建立資料庫叢集期間,Aurora 會檢查呼叫主體是否具有 KMS 金鑰的存取權,並從 KMS 金鑰產生授權,該金鑰在資料庫叢集的整個生命週期內使用。撤銷呼叫主體對 KMS 金鑰的存取權不會影響執行中的資料庫。在跨帳戶案例 (例如將快照複製到其他帳戶) 中使用 KMS 金鑰時,需要與其他帳戶共用 KMS 金鑰。如果您在未指定不同的 KMS 金鑰的情況下從快照建立資料庫叢集,則新叢集會使用來源帳戶中的 KMS 金鑰。建立資料庫叢集之後撤銷金鑰的存取權並不會影響叢集。不過,停用金鑰會影響使用該金鑰加密的所有資料庫叢集。若要避免發生這種情況,請在快照複製作業期間指定不同的金鑰。

決定是否為資料庫叢集開啟加密

您可以使用 AWS Management Console AWS CLI、或 RDS API 來判斷資料庫叢集是否開啟靜態加密。

決定是否為資料庫叢集開啟靜態加密。
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Databases (資料庫)。

  3. 選擇您要檢查的資料庫叢集名稱,以檢視其詳細資訊。

  4. 選擇 Configuration (組態) 索引標籤,然後勾選 Encryption (加密) 值。

    其會顯示 Enabled (已啟用) 或 Not enabled (未啟用)。

    檢查資料庫叢集的靜態加密

若要使用判斷資料庫叢集的靜態加密是否開啟 AWS CLI,請使用下列選項呼叫 describe-db- cluster 命令:

  • --db-cluster-identifier – 資料庫叢集的名稱。

下列範例會使用查詢,為 mydb 資料庫叢集傳回關於靜態加密的 TRUEFALSE

範例
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、M6 英寸、M6 英寸、M7 克

    • 最佳化記憶體:6 英寸、6 英寸、6 英寸、R6 域名、R7 克、X2 IDN、X2 內嵌

  • 實例是相同的 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 開發人員指南中的信封加密

  • 您無法解密加密的資料庫叢集。但是,您可以從加密的資料庫叢集 匯出資料,然後將資料匯入未加密的資料庫叢集