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 受管金鑰 之 AWS 帳戶的 加密的快照。

  • 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 Key Management Service (AWS KMS) AWS KMS API。若要檢視透過 AWS 受管或客戶受管金鑰採取的每項動作稽核日誌,請使用 AWS CloudTrail。如需有關金鑰轉換的詳細資訊,請參閱轉換 AWS KMS 金鑰

授權使用客戶受管金鑰

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

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

  • kms:CreateGrant

  • kms:DescribeKey

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

提示

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

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

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

Amazon RDS加密內容

RDS 使用您的KMS金鑰,或當 Amazon 代表 RDS EBS使用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" }