我想要在我的 Amazon Relational Database Service (Amazon RDS) for Microsoft SQL Server 執行個體選項群組中包含/移除透明資料加密 (TDE) 選項。或者,我已關閉或開啟 TDE,現在我的 RDS for SQL Server 執行個體中遇到與 TDE 相關的錯誤。我該如何解決這些問題?
簡短描述
TDE 透過加密資料庫的實體檔案 (例如資料 (.mdf 和 .ndf)) 和交易日誌檔 (.ldf) 來保護靜態資料。當 TDE 開啟時,TempDB 會自動加密,並由所有使用者定義的資料庫用來儲存或處理暫存物件。
解決方案
開啟 TDE
若要在執行個體中開啟 TDE,請執行下列動作:
- 確認資料庫執行個體目前的資料庫引擎版本支援 TDE。
- 為 RDS for SQL Server 開啟 TDE。
- 加密資料庫中的資料。
**備註:**當您在選項群組中新增 TDE 選項並將其與資料庫執行個體建立關聯時,會自動建立憑證。如果您修改已關聯的選項群組並將 TDE 選項新增至憑證,則也會自動建立憑證。您不必在資料庫執行個體上手動建立 TDE 憑證。
關閉 TDE
如需如何關閉 TDE 的詳細資訊,請參閱關閉RDS for SQL Server 的 TDE。
**備註:**關閉資料庫的 TDE 之後,您必須重新啟動資料庫執行個體,以移除 TempDB 的加密。
疑難排解常見錯誤
錯誤:"Cannot find server certificate with thumbprint '0x56CCEA7170BD5AFB02EB08C674XXXXXXXXXXXXXX'.RESTORE DATABASE is terminating abnormally." (找不到帶有指紋 '0x56CCEA7170BD5AFB02EB08C674XXXXXXXXXXXXXX' 的伺服器憑證。還原資料庫正在異常終止。)
將具有 TDE 加密來源資料庫的備份檔案還原到原始 SQL Server 執行個體以外的 RDS for SQL Server 執行個體時,會發生此錯誤。若要還原資料庫,必須將來源 SQL Server 執行個體的 TDE 憑證匯入目的地 RDS for SQL Server 資料庫執行個體。
如需備份與還原 TDE 憑證的詳細資訊,請參閱下列內容:
錯誤 - 訊息 50000、層級 16、狀態 1、程序 msdb.dbo.rds_restore_tde_certificate、第 91 行 [批次起始行 0] 異地同步備份資料庫執行個體不支援TDE 憑證還原。
在異地同步備份資料庫執行個體上還原 TDE 憑證時,會發生此錯誤。異地同步備份資料庫執行個體不支援 TDE 憑證備份和還原。
如需詳細資訊,請參閱 在 RDS for SQL Server 上備份和還原 TDE 憑證的限制。
若要避免此錯誤,請關閉資料庫執行個體上的多可用區部署。然後,在 RDS 資料庫執行個體上還原 TDE 憑證。
錯誤 - 工作執行已開始。工作已中止。S3 中繼資料中找不到私密金鑰密碼。
從私密金鑰中中繼資料不正確的 Amazon Simple Storage Service (Amazon S3) 儲存貯體匯入使用者 TDE 憑證時,會發生此錯誤。
若要解決此問題,請在 S3 憑證儲存貯體中更新私密金鑰備份檔案中繼資料中的下列標籤:
錯誤 - 工作已中止。驗證 S3 儲存貯體安全時發生錯誤。相關聯的 IAM 角色沒有存取指定 S3 儲存貯體的權限。
使用缺少必要許可的 AWS Identity and Access Management (IAM) 角色備份或還原 TDE 憑證時,會發生此錯誤。
若要解決此問題,請確認 IAM 角色同時是 AWS Key Management Service (KMS) 金鑰的使用者和管理員。除了 SQL Server 原生備份和還原所需的許可之外,IAM 角色還需要下列許可:
- S3 儲存貯體資源上的 s3:GetBucketACL、s3:GetBucketLocation 和 s3:ListBucket
- * 資源上的 s3:ListAllMyBuckets
如需詳細資訊,請參閱在 RDS for SQL Server 上備份和還原 TDE 憑證的先決條件。