Copia de seguridad y restauración de certificados TDE para bases de datos en las instalaciones
Puede realizar una copia de seguridad de los certificados TDE para las bases de datos en las instalaciones y, posteriormente, restaurarlos en RDS para SQL Server. También puede restaurar un certificado TDE de RDS para SQL Server en una instancia de base de datos en las instalaciones.
El siguiente procedimiento hace una copia de seguridad de un certificado TDE y una clave privada. La clave privada se cifra mediante una clave de datos generada a partir de su clave de KMS de cifrado simétrico.
Para hacer una copia de seguridad de un certificado TDE en las instalaciones
-
Genere la clave de datos mediante el comando generate-data-key de AWS CLI.
aws kms generate-data-key \ --key-id
my_KMS_key_ID
\ --key-spec AES_256La salida se parece a la siguiente.
{ "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
" }La salida de texto sin formato se utiliza en el siguiente paso como contraseña de la clave privada.
-
Haga una copia de seguridad de su certificado TDE como se muestra en el siguiente ejemplo.
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='); -
Guarde el archivo de copia de seguridad de certificados en el bucket de certificados de Amazon S3.
-
Guarde el archivo de copia de seguridad de clave privada en su bucket de certificados de S3, con la siguiente etiqueta en los metadatos del archivo:
-
Clave:
x-amz-meta-rds-tde-pwd
-
Valor: el valor de
CiphertextBlob
de la generación de la clave de datos, como en el siguiente ejemplo.AQIDAHimL2NEoAlOY6Bn7LJfnxi/OZe9kTQo/XQXduug1rmerwGiL7g5ux4av9GfZLxYTDATAAAAfjB8BgkqhkiG9w0B BwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyCxLMi7GRZgKqD65AgEQgDtjvZLJo2cQ31Vetngzm2ybHDc3d2vI74SRUzZ 2RezQy3sAS6ZHrCjfnfn0c65bFdhsXxjSMnudIY7AKw==
-
El siguiente procedimiento restaura un certificado TDE de RDS para SQL Server en una instancia de base de datos en las instalaciones. Copie y restaure el certificado TDE en su instancia de base de datos de destino mediante la copia de seguridad del certificado, el archivo de clave privada correspondiente y la clave de datos. El certificado restaurado está cifrado con la clave maestra de base de datos del nuevo servidor.
Para restaurar un certificado TDE
-
Copie el archivo de copia de seguridad del certificado TDE y el archivo de clave privada de Amazon S3 en la instancia de destino. Para obtener más información sobre la copia de archivos desde Amazon S3, consulte Transferencia de archivos entre RDS for SQL Server y Amazon S3.
-
Utilice la clave de KMS para descifrar el texto de cifrado de salida y recuperar el texto sin formato de la clave de datos. El texto de cifrado se encuentra en los metadatos de S3 del archivo de copia de seguridad de la clave privada.
aws kms decrypt \ --key-id
my_KMS_key_ID
\ --ciphertext-blob fileb://exampleCiphertextFile
| base64 -d \ --output text \ --query PlaintextLa salida de texto sin formato se utiliza en el siguiente paso como contraseña de la clave privada.
-
Utilice el siguiente comando SQL para restaurar su certificado 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
');
Para obtener más información sobre el descifrado de KMS, consulte decrypt en la sección KMS de la referencia de comandos de AWS CLI.
Una vez restaurado el certificado TDE en la instancia de base de datos de destino, podrá restaurar las bases de datos cifradas con ese certificado.
nota
Puede utilizar el mismo certificado TDE para cifrar varias bases de datos de SQL Server en la instancia de base de datos de origen. Para migrar varias bases de datos a una instancia de destino, copie el certificado TDE asociado a ellas en la instancia de destino solo una vez.