我在 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 信息。