Sauvegarde et restauration de certificats TDE pour les bases de données sur site
Vous pouvez sauvegarder des certificats TDE pour les bases de données sur site, puis les restaurer ultérieurement sur RDS for SQL Server. Vous pouvez également restaurer un certificat TDE RDS for SQL Server sur une instance de base de données sur site.
Note
RDS for SQL Server ne prend pas en charge l’utilisation de clés entre comptes pour TDE.
La procédure suivante sauvegarde un certificat TDE et une clé privée. La clé privée est chiffrée à l'aide d'une clé de données générée à partir de votre clé KMS de chiffrement symétrique.
Pour sauvegarder un certificat TDE sur site
-
Générez la clé de données à l'aide de la commande AWS CLI generate-data-key.
aws kms generate-data-key \ --key-idmy_KMS_key_ID\ --key-spec AES_256La sortie se présente comme suit :
{ "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" }Vous utilisez la sortie en texte brut à l'étape suivante comme mot de passe de clé privée.
-
Sauvegardez votre certificat TDE comme illustré dans l'exemple suivant.
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='); -
Enregistrez le fichier de sauvegarde de certificat dans votre compartiment de certificat Amazon S3.
-
Enregistrez le fichier de sauvegarde de clé privée dans votre compartiment de certificat S3, avec la balise suivante dans les métadonnées du fichier :
-
Clé :
x-amz-meta-rds-tde-pwd -
Valeur : valeur
CiphertextBlobissue de la génération de la clé de données, comme dans l'exemple suivant.AQIDAHimL2NEoAlOY6Bn7LJfnxi/OZe9kTQo/XQXduug1rmerwGiL7g5ux4av9GfZLxYTDATAAAAfjB8BgkqhkiG9w0B BwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyCxLMi7GRZgKqD65AgEQgDtjvZLJo2cQ31Vetngzm2ybHDc3d2vI74SRUzZ 2RezQy3sAS6ZHrCjfnfn0c65bFdhsXxjSMnudIY7AKw==
-
La procédure suivante restaure un certificat TDE RDS for SQL Server sur une instance de base de données sur site. Vous copiez et restaurez le certificat TDE sur votre instance de base de données de destination à l'aide de la sauvegarde du certificat, du fichier de clé privée correspondant et de la clé de données. Le certificat restauré est chiffré par la clé principale de base de données du nouveau serveur.
Pour restaurer un certificat TDE
-
Copiez le fichier de sauvegarde du certificat TDE et le fichier de clé privée à partir d’Amazon S3 vers l'instance de destination. Pour plus d'informations sur la copie de fichiers depuis Amazon S3, consultez Transfert de fichiers entre RDS for SQL Server et Amazon S3.
-
Utilisez votre clé KMS pour déchiffrer le texte chiffré en sortie afin de récupérer le texte brut de la clé de données. Le texte chiffré se trouve dans les métadonnées S3 du fichier de sauvegarde de la clé privée.
aws kms decrypt \ --key-idmy_KMS_key_ID\ --ciphertext-blob fileb://exampleCiphertextFile| base64 -d \ --output text \ --query PlaintextVous utilisez la sortie en texte brut à l'étape suivante comme mot de passe de clé privée.
-
Utilisez la commande SQL suivante pour restaurer votre certificat 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');
Pour plus d'informations sur le déchiffrement KMS, consultez decrypt dans la section KMS du manuel AWS CLI Command Reference.
Une fois le certificat TDE restauré sur l'instance de base de données de destination, vous pouvez restaurer des bases de données chiffrées avec ce certificat.
Note
Vous pouvez utiliser le même certificat TDE pour chiffrer plusieurs bases de données SQL Server sur l'instance de base de données source. Pour migrer plusieurs bases de données vers une instance de destination, copiez une seule fois le certificat TDE qui leur est associé sur l'instance de destination.