Backup e ripristino di certificati TDE per database on-premise - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Backup e ripristino di certificati TDE per database on-premise

Puoi eseguire il backup di certificati TDE per i database on-premise, quindi ripristinarli in seguito su RDS per SQL Server. Inoltre, puoi ripristinare un certificato TDE RDS per SQL Server in un'istanza database on-premise.

Nota

RDS per SQL Server non supporta l’utilizzo di chiavi multi-account per il certificato TDE.

La procedura seguente esegue il backup di un certificato TDE e una chiave privata. La chiave privata viene crittografata utilizzando una chiave dei dati generata dalla chiave KMS di crittografia simmetrica.

Eseguire il backup di un certificato TDE on-premise
  1. Genera la chiave dati usando il AWS CLI generate-data-keycomando.

    aws kms generate-data-key \ --key-id my_KMS_key_ID \ --key-spec AES_256

    L'output è simile a quello riportato di seguito.

    { "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" }

    L'output di testo normale nel passaggio successivo viene utilizzato come password della chiave privata.

  2. Esegui il backup del certificato TDE come mostrato nell'esempio seguente.

    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. Salva il file di backup del certificato nel bucket di certificato Amazon S3.

  4. Salva il file di backup della chiave privata nel bucket di certificato S3, con il seguente tag nei metadati del file:

    • Chiave - x-amz-meta-rds-tde-pwd

    • Value – Il valore CiphertextBlob risultante dalla generazione della chiave dei dati, come nell'esempio seguente.

      AQIDAHimL2NEoAlOY6Bn7LJfnxi/OZe9kTQo/XQXduug1rmerwGiL7g5ux4av9GfZLxYTDATAAAAfjB8BgkqhkiG9w0B BwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyCxLMi7GRZgKqD65AgEQgDtjvZLJo2cQ31Vetngzm2ybHDc3d2vI74SRUzZ 2RezQy3sAS6ZHrCjfnfn0c65bFdhsXxjSMnudIY7AKw==

La procedura seguente consente di ripristinare un certificato TDE RDS per SQL Server in un'istanza database on-premise. Copia e ripristina il certificato TDE sull'istanza database di destinazione utilizzando il backup del certificato, il file della chiave privata corrispondente e la chiave dati. Il certificato ripristinato viene crittografato dalla chiave master del database del nuovo server.

Ripristinare un certificato TDE
  1. Copia il file di backup del certificato TDE e il file della chiave privata da Amazon S3 nell'istanza di destinazione. Per ulteriori informazioni sulla copia di file da Amazon S3, consulta Trasferimento di file tra RDS for SQL Server e Amazon S3.

  2. Utilizza la chiave KMS per decrittografare il testo crittografato di output per recuperare il testo normale della chiave dei dati. Il testo crittografato si trova nei metadati S3 del file di backup della chiave privata.

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

    L'output di testo normale nel passaggio successivo viene utilizzato come password della chiave privata.

  3. Utilizza il comando SQL seguente per ripristinare il certificato 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');

Per ulteriori informazioni sulla decrittografia KMS, consulta decrittografare nella sezione KMS del Riferimento ai comandi AWS CLI .

Dopo che il certificato TDE è stato ripristinato sull'istanza database di destinazione, puoi ripristinare i database crittografati con tale certificato.

Nota

Puoi utilizzare lo stesso certificato TDE per crittografare più database SQL Server sull'istanza database di origine. Per migrare più database a un'istanza di destinazione, copia il certificato TDE ad essi associato nell'istanza di destinazione una sola volta.