備份和還原內部部署資料庫的TDE憑證 - Amazon Relational Database Service

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

備份和還原內部部署資料庫的TDE憑證

您可以備份內部部署資料庫的TDE憑證,稍後再將它們還原為 RDS 的SQL伺服器。您也可以將 RDS for SQL Server TDE憑證還原至內部部署資料庫執行個體。

下列程序會備份TDE憑證和私有金鑰。私有金鑰會使用對稱加密金鑰產生的資料KMS金鑰進行加密。

備份內部部署TDE憑證
  1. 使用 AWS CLI generate-data-key命令產生資料金鑰。

    aws kms generate-data-key \ --key-id my_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" }

    您在下一步可以使用純文字輸出作為私有金鑰密碼。

  2. 備份您的TDE憑證,如下列範例所示。

    BACKUP CERTIFICATE myOnPremTDEcertificate TO 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=');
  3. 將憑證備份檔案儲存至 Amazon S3 憑證儲存貯體。

  4. 將私有金鑰備份檔案儲存到 S3 憑證儲存貯體,並在檔案的中繼資料中使用以下標籤:

    • 索引鍵 – x-amz-meta-rds-tde-pwd

    • 值 – 來自產生資料金鑰的 CiphertextBlob 值,如下列範例所示。

      AQIDAHimL2NEoAlOY6Bn7LJfnxi/OZe9kTQo/XQXduug1rmerwGiL7g5ux4av9GfZLxYTDATAAAAfjB8BgkqhkiG9w0B BwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyCxLMi7GRZgKqD65AgEQgDtjvZLJo2cQ31Vetngzm2ybHDc3d2vI74SRUzZ 2RezQy3sAS6ZHrCjfnfn0c65bFdhsXxjSMnudIY7AKw==

下列程序會將RDSSQL伺服器TDE憑證的 還原至內部部署資料庫執行個體。您可以使用TDE憑證備份、對應的私有金鑰檔案和資料金鑰,在目的地資料庫執行個體上複製和還原憑證。還原的憑證由新伺服器的資料庫主要金鑰加密。

若要還原TDE憑證
  1. 將TDE憑證備份檔案和私有金鑰檔案從 Amazon S3 複製到目的地執行個體。如需從 Amazon S3 複製檔案的詳細資訊,請參閱 在 RDS for SQL Server 和 Amazon S3 之間傳輸檔案

  2. 使用您的 KMS 金鑰解密輸出密碼文字,以擷取資料金鑰的純文字。密碼文字位於私有金鑰備份檔案的 S3 中繼資料中。

    aws kms decrypt \ --key-id my_KMS_key_ID \ --ciphertext-blob fileb://exampleCiphertextFile | base64 -d \ --output text \ --query Plaintext

    您在下一步可以使用純文字輸出作為私有金鑰密碼。

  3. 使用下列SQL命令來還原您的TDE憑證。

    CREATE CERTIFICATE myOnPremTDEcertificate FROM 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伺服器資料庫。若要將多個資料庫遷移至目的地執行個體,請僅將與其相關聯的TDE憑證複製到目的地執行個體一次。