AWS KMS key管理 - Amazon Aurora

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

AWS KMS key管理

Amazon Aurora 會自動與 AWS Key Management Service (AWS KMS) 整合以進行金鑰管理。Amazon Aurora 會使用信封加密。如需信封加密的詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的信封加密

您可以使用兩種 AWS KMS 金鑰來加密資料庫叢集

  • 如果想要完全控制 KMS 金鑰,您必須建立客戶受管金鑰。如需客戶受管金鑰的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的客戶受管金鑰

    如果快照使用共用快照的 AWS 帳戶的 AWS 受管金鑰所加密,則您無法共用此快照。

  • AWS 受管金鑰 是您帳戶中的 KMS 金鑰,由已與 AWS KMS 整合的 AWS 服務代表您建立、管理和使用。根據預設,RDS AWS 受管金鑰 (aws/rds) 用於加密。您無法管理、輪換或刪除 RDS AWS 受管金鑰。如需 AWS 受管金鑰的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的 AWS 受管金鑰

AWS KMS 主控台、AWS CLI 或 AWS KMS API 中使用 AWS Key Management Service (AWS KMS) 管理用於 Amazon Aurora 加密資料庫叢集的 KMS 金鑰。若要檢視透過 AWS 受管或客戶受管金鑰採取的每項動作稽核日誌,請使用 AWS CloudTrail。如需有關金鑰轉換的詳細資訊,請參閱轉換 AWS KMS 金鑰

重要

如果您關閉或撤銷 RDS 資料庫所使用之 KMS 金鑰的許可,則 RDS 會在需要存取 KMS 金鑰時,將您的資料庫置於終端機狀態。此變更可以是立即或延遲,視需要存取 KMS 金鑰的使用案例而定。在此情況下,您將再也無法使用資料庫叢集,而且無法復原資料庫的目前狀態。若要還原資料庫叢集,您必須重新啟用對 RDS 的 KMS 金鑰存取權,然後從最新可用的備份中還原資料庫叢集

授權使用客戶受管金鑰

Aurora 在密碼編譯操作中使用客戶受管金鑰時,它會代表建立或變更 Aurora 資源的使用者。

若要使用客戶受管金鑰建立 Aurora 資源,使用者必須具備呼叫客戶受管金鑰下列作業的許可:

  • kms:CreateGrant

  • kms:DescribeKey

您可以在金鑰政策或在 IAM 政策中指定這些必要的許可 (如果金鑰政策允許)。

您可以透過各種方式使 IAM 政策更加嚴格。例如,若要允許客戶受管金鑰僅用於源自 Aurora 的請求,您可以搭配 rds.<region>.amazonaws.com 值使用 kms:ViaService 條件索引鍵。您也可以使用 Amazon RDS 加密內容 中的金鑰或值作為條件,以便將客戶受管金鑰用於加密。

如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的允許其他帳戶使用者使用 KMS 金鑰AWS KMS 中的金鑰政策

Amazon RDS 加密內容

Aurora 使用您的 KMS 金鑰時,或者當 Amazon EBS 代表 Aurora 使用 KMS 金鑰時,服務會指定加密內容。加密內容是額外驗證資料 (AAD),供 AWS KMS 用來確保資料完整性。為加密操作指定加密內容時,此服務必須為解密操作指定相同的加密內容。否則,解密會失敗。加密內容也會寫入 AWS CloudTrail 日誌檔,以協助您了解為何使用指定的 KMS 金鑰。您的 CloudTrail 日誌可能包含多個項目來描述 KMS 金鑰使用情形,但每個日誌項目中的加密內容可協助您判斷該特定使用情形的原因。

至少,Aurora 一律使用資料庫執行個體 ID 做為加密內容,如下列 JSON 格式範例:

{ "aws:rds:db-id": "db-CQYSMDPBRZ7BPMH7Y3RTDG5QY" }

這個加密內容可協助您識別您的 KMS 金鑰所用的資料庫執行個體。

當您的 KMS 金鑰用於特定的資料庫執行個體和特定的 Amazon EBS 磁碟區,資料庫執行個體 ID 和 Amazon EBS 磁碟區 ID 都會用於加密內容,如下列 JSON 格式範例:

{ "aws:rds:db-id": "db-BRG7VYS3SVIFQW7234EJQOM5RQ", "aws:ebs:id": "vol-ad8c6542" }