本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
備份與還原內部部署資料庫的 TDE 憑證
您可以備份內部部署資料庫的 TDE 憑證,日後再將憑證還原到 RDS for SQL Server。您還可以將 RDS for SQL Server TDE 憑證還原到內部部署資料庫執行個體。
注意
RDS for SQL Server 不支援使用跨帳戶金鑰搭配 TDE。
下列程序會備份 TDE 憑證和私有金鑰。系統會使用從對稱加密 KMS 金鑰產生的資料金鑰來加密私有金鑰。
備份內部部署 TDE 憑證
-
使用 AWS CLI generate-data-key 命令產生資料金鑰。
aws kms generate-data-key \ --key-idmy_KMS_key_ID\ --key-spec AES_256輸出結果與以下內容相似。
{ "CiphertextBlob": "AQIDAHimL2NEoAlOY6Bn7LJfnxi/OZe9kTQo/XQXduug1rmerwGiL7g5ux4av9GfZLxYTDATAAAAfjB8BgkqhkiG9w0B BwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyCxLMi7GRZgKqD65AgEQgDtjvZLJo2cQ31Vetngzm2ybHDc3d2vI74SRUzZ 2RezQy3sAS6ZHrCjfnfn0c65bFdhsXxjSMnudIY7AKw==", "Plaintext": "U/fpGtmzGCYBi8A2+0/9qcRQRK2zmG/aOn939ZnKi/0=", "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-00ee-99ff-88dd-aa11bb22cc33" }您在下一步可以使用純文字輸出作為私有金鑰密碼。
-
備份 TDE 憑證,如下列範例所示。
BACKUP CERTIFICATEmyOnPremTDEcertificateTO FILE = 'D:\tde-cert-backup.cer' WITH PRIVATE KEY ( FILE = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\cert-backup-key.pvk', ENCRYPTION BY PASSWORD = 'U/fpGtmzGCYBi8A2+0/9qcRQRK2zmG/aOn939ZnKi/0='); -
將憑證備份檔案儲存至 Amazon S3 憑證儲存貯體。
-
將私有金鑰備份檔案儲存到 S3 憑證儲存貯體,並在檔案的中繼資料中使用以下標籤:
-
索引鍵 –
x-amz-meta-rds-tde-pwd -
值 – 來自產生資料金鑰的
CiphertextBlob值,如下列範例所示。AQIDAHimL2NEoAlOY6Bn7LJfnxi/OZe9kTQo/XQXduug1rmerwGiL7g5ux4av9GfZLxYTDATAAAAfjB8BgkqhkiG9w0B BwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyCxLMi7GRZgKqD65AgEQgDtjvZLJo2cQ31Vetngzm2ybHDc3d2vI74SRUzZ 2RezQy3sAS6ZHrCjfnfn0c65bFdhsXxjSMnudIY7AKw==
-
以下程序會將 RDS for SQL Server TDE 憑證還原至內部部署資料庫執行個體。您可以使用憑證備份、對應的私有金鑰檔案與資料金鑰,在目的地資料庫執行個體上複製與還原 TDE 憑證。還原的憑證由新伺服器的資料庫主要金鑰加密。
還原 TDE 憑證
-
將 TDE 憑證備份檔案和私有金鑰檔案從 Amazon S3 複製到目的地執行個體。如需從 Amazon S3 複製檔案的詳細資訊,請參閱 在 RDS for SQL Server 與 Amazon S3 之間傳輸檔案。
-
使用 KMS 金鑰解密輸出密碼文字,以擷取資料金鑰的純文字。密碼文字位於私有金鑰備份檔案的 S3 中繼資料中。
aws kms decrypt \ --key-idmy_KMS_key_ID\ --ciphertext-blob fileb://exampleCiphertextFile| base64 -d \ --output text \ --query Plaintext您在下一步可以使用純文字輸出作為私有金鑰密碼。
-
使用下列 SQL 命令還原 TDE 憑證。
CREATE CERTIFICATEmyOnPremTDEcertificateFROM FILE='D:\tde-cert-backup.cer' WITH PRIVATE KEY (FILE = N'D:\tde-cert-key.pvk', DECRYPTION BY PASSWORD = 'plain_text_output');
如需 KMS 解密的詳細資訊,請參閱 AWS CLI 命令參考中 KMS 一節的解密。
在目的地資料庫執行個體上還原 TDE 憑證後,您可以使用該憑證還原加密的資料庫。
注意
您可以使用相同的 TDE 憑證來加密來源資料庫執行個體上的多個 SQL Server 資料庫。若要將多個資料庫遷移至目的地執行個體,請僅將與這些資料庫關聯的 TDE 憑證複製到目的地執行個體一次。