Fazer backup e restaurar certificados TDE para bancos de dados on-premises
Você pode fazer backup de certificados TDE para bancos de dados on-premises e depois restaurá-los para o RDS para SQL Server. Você também pode restaurar um certificado TDE do RDS para SQL Server para uma instância de banco de dados on-premises.
O procedimento a seguir faz backup de um certificado TDE e uma chave privada. A chave privada é criptografada usando uma chave de dados gerada a partir de sua chave do KMS de criptografia simétrica.
Para fazer backup de um certificado TDE on-premises
-
Gere a chave de dados usando o comando generate-data-key da AWS CLI.
aws kms generate-data-key \ --key-id
my_KMS_key_ID
\ --key-spec AES_256A saída será semelhante à seguinte.
{ "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
" }Use a saída de texto simples na próxima etapa como a senha da chave privada.
-
Faça backup do seu certificado TDE, conforme mostrado no exemplo a seguir.
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='); -
Salve o arquivo de backup do certificado no bucket de certificados do Amazon S3.
-
Salve o arquivo de backup de chave privada no bucket de certificados do S3, com a seguinte tag nos metadados do arquivo:
-
Chave:
x-amz-meta-rds-tde-pwd
-
Valor: o valor
CiphertextBlob
da geração da chave de dados, como no exemplo a seguir.AQIDAHimL2NEoAlOY6Bn7LJfnxi/OZe9kTQo/XQXduug1rmerwGiL7g5ux4av9GfZLxYTDATAAAAfjB8BgkqhkiG9w0B BwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyCxLMi7GRZgKqD65AgEQgDtjvZLJo2cQ31Vetngzm2ybHDc3d2vI74SRUzZ 2RezQy3sAS6ZHrCjfnfn0c65bFdhsXxjSMnudIY7AKw==
-
O procedimento a seguir restaura um certificado TDE do RDS para SQL Server para uma instância de banco de dados on-premises. Copie e restaure o certificado TDE na instância de banco de dados de destino usando o backup de certificado, o arquivo de chave privada correspondente e a chave de dados. O certificado restaurado é criptografado pela chave mestra do banco de dados do novo servidor.
Como restaurar um certificado TDE
-
Copie o arquivo de backup do certificado TDE e o arquivo de chave privada do Amazon S3 para a instância de destino. Para ter mais informações sobre como copiar arquivos do Amazon S3, consulte Transferência de arquivos entre o RDS for SQL Server e o Amazon S3.
-
Use sua chave do KMS para descriptografar o texto de criptografia de saída para recuperar o texto simples da chave de dados. O texto de criptografia está localizado nos metadados do S3 do arquivo de backup de chave privada.
aws kms decrypt \ --key-id
my_KMS_key_ID
\ --ciphertext-blob fileb://exampleCiphertextFile
| base64 -d \ --output text \ --query PlaintextUse a saída de texto simples na próxima etapa como a senha da chave privada.
-
Use o comando SQL a seguir para restaurar seu 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 ter mais informações sobre descriptografia do KMS, consulte descriptografar na seção do KMS da Referência de comando AWS CLI.
Depois que o certificado TDE for restaurado na instância de banco de dados de destino, você poderá restaurar bancos de dados criptografados com esse certificado.
nota
Você pode usar o mesmo certificado TDE para criptografar vários bancos de dados do SQL Server na instância de banco de dados de origem. Para migrar vários bancos de dados para uma instância de destino, copie o certificado TDE associado a eles na instância de destino apenas uma vez.