Sql-Server

如何從儲存在 S3 中的啟用 TDE 的 SQL DB(本地)備份文件還原到 AWS RDS SQL Server

  • June 23, 2022

我在 S3 中有一個啟用了本地 TDE 的 SQL DB 備份文件以及 Cert 和 Pvt 密鑰文件。如何使用在源數據庫備份期間提供的相同主密鑰密碼在 AWS RDS SQL 數據庫中恢復?

當我嘗試在 RDS 中執行以下查詢時,出現“使用者無權執行此操作”的錯誤

`CREATE MASTER KEY ENCRYPTION 
BY PASSWORD='Strong11111@Password'`

aws 網站提供以下 SP 用於恢復啟用 TDE 的 SQL DB

`EXECUTE msdb.dbo.rds_restore_tde_certificate
@certificate_name='UserTDECertificate_certificate_name'
, @certificate_file_s3_arn='arn:aws:s3:::bucket_name/certificate_file_name.cer'
, @private_key_file_s3_arn='arn:aws:s3:::bucket_name/key_file_name.pvk'
, @kms_password_key_arn='arn:aws:kms:region:account-id:key/key-id'`

@kms_password_key_arn – 用於加密私鑰密碼的對稱 KMS 密鑰的 ARN。

只是想知道當我們無法在 RDS 中執行/創建主密鑰加密查詢時,我們將在哪裡/如何使用在創建 .bak 文件期間使用的相同密碼 (‘Strong11111@Password’)獲取參數**@kms_password_key_arn的值。**

任何建議,將不勝感激。提前致謝!

首先,您需要按照說明在本地 SQL Server 上備份 TDE 證書以用於 RDS - https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options。 TDE.html#TDE.BackupRestoreOnPrem

然後,您需要按照說明從 S3 恢復 TDE 證書 - https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.TDE.html#TDE.BackupRestoreRDS

第一個任務中步驟 1 的輸出包含用於第二個任務的密鑰 ID 資訊。

引用自:https://dba.stackexchange.com/questions/313669