AWS KMS key 管理 - Amazon Relational Database Service

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

AWS KMS key 管理

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

您可以使用兩種類型的 AWS KMS 金鑰來加密資料庫執行個體

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

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

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

授權使用客戶受管金鑰

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

若要使用客戶受管金鑰建立 RDS 資源,使用者必須具有在客戶受管金鑰上呼叫下列操作的許可:

  • kms:CreateGrant

  • kms:DescribeKey

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

提示

若要遵循最低權限原則人,請勿允許 kms:CreateGrant 的完整存取。反之,使用 kms:ViaService 條件金鑰,僅允許使用者在 KMS 金鑰上建立授予,前提是該授予是由 AWS 服務代使用者建立。

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

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

Amazon RDS 加密內容

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

Amazon RDS 至少一律使用加密內容的資料庫執行個體 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" }