本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon RDS 會自動與 AWS Key Management Service (AWS KMS) 整合以進行金鑰管理。Amazon RDS 會使用信封加密。如需信封加密的詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的信封加密。
您可以使用兩種類型的 AWS KMS 金鑰來加密資料庫執行個體。
若要管理用於 Amazon RDS 加密資料庫執行個體 KMS 金鑰,請在 AWS KMS 主控台
授權使用客戶受管金鑰
當 RDS 在密碼編譯操作中使用客戶受管金鑰時,它會代表建立或變更 RDS 資源的使用者。
若要使用客戶受管金鑰建立 RDS 資源,使用者必須具備呼叫客戶受管金鑰下列作業的許可:
-
kms:CreateGrant
-
kms:DescribeKey
您可以在金鑰政策或在 IAM 政策中指定這些必要的許可 (如果金鑰政策允許)。
提示
若要遵循最低權限原則人,請勿允許 kms:CreateGrant
的完整存取。反之,使用 kms:ViaService 條件金鑰,以允許使用者僅在服務代表使用者建立授予時,才在 KMS 金鑰上建立授予 AWS 。
您可以透過各種方式使 IAM 政策更加嚴格。例如,如果您想要允許客戶受管金鑰僅用於源自 RDSAurora 的請求,請使用 kms:ViaService 條件金鑰搭配 rds.
值。您也可以使用 Amazon RDS 加密內容 中的金鑰或值作為條件,以便將客戶受管金鑰用於加密。<region>
.amazonaws.com
如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的允許其他帳戶使用者使用 KMS 金鑰和 AWS KMS中的金鑰政策。
Amazon RDS 加密內容
當 RDS 使用您的 KMS 金鑰時,或者當 Amazon EBS 代表 RDS 使用 KMS 金鑰時,服務會指定加密內容。加密內容是額外的已驗證資料 (AAD), AWS KMS 用於確保資料完整性。為加密操作指定加密內容時,此服務必須為解密操作指定相同的加密內容。否則,解密會失敗。加密內容也會寫入 AWS CloudTrail
Amazon RDS 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"
}