

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

# Amazon RDS 的加密最佳實務
<a name="rds"></a>

[Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) 可協助您在 AWS 雲端中設定、操作和擴展關聯式資料庫 (DB)。靜態加密的資料包括資料庫執行個體的基礎儲存體、其自動化備份、僅供讀取複本，以及快照。

以下是您可用於加密 RDS 資料庫執行個體中的靜態資料的方法：
+ 您可以使用 受管金鑰或客戶受管金鑰 AWS KMS keys來 AWS 加密 Amazon RDS 資料庫執行個體。如需詳細資訊，請參閱本指南中的 [AWS Key Management Service](kms.md)。
+ Amazon RDS for Oracle 和 Amazon RDS for SQL Server 支援使用透明資料加密 (TDE)，來加密資料庫執行個體。如需詳細資訊，請參閱 [Oracle 透明資料加密](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.AdvSecurity.html)或[支援 SQL Server 的透明資料加密](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.TDE.html)。

  您可以同時使用 TDE 和 KMS 金鑰來加密資料庫執行個體。但是，這可能會稍微影響資料庫的效能，您必須分別管理這些金鑰。

以下是您可用於加密往返 RDS 資料庫執行個體的傳輸中的資料的方法：
+ 對於執行 MariaDB、Microsoft SQL Server、MySQL、Oracle 或 PostgreSQL 的 Amazon RDS 資料庫執行個體，您可以使用 SSL 加密連線。如需詳細資訊，請參閱[使用 SSL/TLS 加密資料庫執行個體的連線](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)。
+ Amazon RDS for Oracle 也支援 Oracle 原生網路加密 (NNE)，可在資料移入和移出資料庫執行個體時加密資料。無法同時使用 NNE 和 SSL 加密。如需詳細資訊，請參閱 [Oracle 原生網路加密](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.NetworkEncryption.html)。

請考慮此服務的下列加密最佳實務：
+ 在連接至 Amazon RDS for SQL Server 或 Amazon RDS for PostgreSQL 資料庫執行個體以處理、儲存或傳輸需要加密的資料時，使用 RDS 傳輸加密功能來加密連線。您可以在參數群組中將 `rds.force_ssl` 參數設定為 `1` 來實作此操作。如需詳細資訊，請參閱[使用參數群組](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html)。Amazon RDS for Oracle 使用 Oracle 資料庫原生網路加密。
+ 用於 RDS 資料庫執行個體加密的客戶受管金鑰應僅用於該用途，且不得與任何其他 AWS 服務搭配使用。
+ 在加密 RDS 資料庫執行個體之前，先建立 KMS 金鑰需求。執行個體使用的金鑰以後無法變更。例如，在您的加密政策中，根據您的業務需求，定義 AWS 受管金鑰或客戶受管金鑰的使用和管理標準。
+ 授權存取客戶受管 KMS 金鑰時，請在 IAM 政策中使用條件金鑰，以遵循最低權限原則。例如，若要僅允許客戶受管金鑰用於源自 Amazon RDS 的請求，請使用 [kms:ViaService 條件金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service)搭配 `rds.<region>.amazonaws.com`值。此外，您可以使用 [Amazon RDS 加密內容](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.Keys.html#Overview.Encryption.Keys.encryptioncontext)中的金鑰或值，做為使用客戶受管金鑰的條件。
+ 強烈建議您為加密的 RDS 資料庫執行個體啟用備份。Amazon RDS 可能會失去對資料庫執行個體的 KMS 金鑰的存取權，例如未啟用 KMS 金鑰或撤銷 RDS 對 KMS 金鑰的存取權時。如果發生此情況，則加密的資料庫執行個體將進入可復原狀態七天。如果資料庫執行個體在七天後未重新取得對金鑰的存取權，則資料庫將變得最終無法存取，必須從備份還原。如需詳細資訊，請參閱[加密資料庫執行個體](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html#Overview.Encryption.Enabling)。
+ 如果僅供讀取複本及其加密的資料庫執行個體位於相同位置 AWS 區域，您必須使用相同的 KMS 金鑰來加密兩者。
+ 在 中 AWS Config，實作 [rds-storage-encrypted](https://docs.aws.amazon.com/config/latest/developerguide/rds-storage-encrypted.html) AWS 受管規則來驗證和強制執行 RDS 資料庫執行個體的加密，以及 [rds-snapshots-encrypted](https://docs.aws.amazon.com/config/latest/developerguide/rds-snapshot-encrypted.html) 規則來驗證和強制執行 RDS 資料庫快照的加密。
+ 使用 AWS Security Hub CSPM 評估您的 Amazon RDS 資源是否遵循安全最佳實務。如需詳細資訊，請參閱 [Amazon RDS 的 Security Hub CSPM 控制項](https://docs.aws.amazon.com/securityhub/latest/userguide/rds-controls.html)。