AWS KMS key 管理 - Amazon Aurora

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

AWS KMS key 管理

Aurora 自動集成 AWS Key Management Service (AWS KMS) 用於金鑰管理。 Aurora 使用信封加密。如需有關信封加密的詳細資訊,請參閱 AWS Key Management Service 開發人員指南

您可以使用兩種類型的 AWS KMS 加密資料庫叢集的金鑰。

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

    您無法共用已使用 AWS 受管金鑰 的 AWS 共用快照的帳戶。

  • AWS 受管金鑰是您帳戶中代表您建立、管理和使用的KMS金鑰 AWS 與之整合的服務 AWS KMS。 默認情況下,RDS AWS 受管金鑰 (aws/rds) 用於加密。您無法管理、旋轉或刪除 RDS AWS 受管金鑰。 有關更多信息 AWS 受管金鑰,請參閱 AWS 受管金鑰 中的 AWS Key Management Service 開發人員指南

若要管理用於 Aurora 加密資料庫叢集的KMS金鑰,請使用 AWS Key Management Service (AWS KMS) 中的 AWS KMS 控制台, AWS CLI,或 AWS KMS API。若要檢視使用者採取的每個動作的稽核記錄 AWS 受管理或客戶管理的金鑰, 使用 AWS CloudTrail。 如需關鍵旋轉的詳細資訊,請參閱旋轉 AWS KMS 鑰匙

授權使用客戶受管金鑰

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

若要使用客戶受管金鑰建立 Aurora 資源,使用者必須擁有對客戶管理金鑰呼叫下列作業的權限:

  • kms:CreateGrant

  • kms:DescribeKey

您可以在金鑰原則中指定這些必要權限,或在金鑰原則允許的情況下,在IAM原則中指定這些必要權限。

提示

若要遵循最低權限原則人,請勿允許 kms:CreateGrant 的完整存取。而是使用 kms: ViaService 條件金鑰,只有在授權是由使用者代表建立使用者時,才允許使用者在金KMS鑰上建立授權 AWS 服務。

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

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

Amazon RDS 加密環境

Aurora 使用您的KMS金鑰時,或當 Amazon 代表 Aurora EBS 使用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:dbc-id": "db-BRG7VYS3SVIFQW7234EJQOM5RQ", "aws:ebs:id": "vol-ad8c6542" }