Passer au contenu

Comment puis-je restaurer un fichier de sauvegarde chiffré ou une sauvegarde Microsoft Azure chiffrée dans RDS pour SQL Server à partir d'un environnement sur site ?

Lecture de 4 minute(s)
0

Je souhaite restaurer un fichier de sauvegarde chiffré ou une sauvegarde Microsoft Azure pour Amazon Relational Database Service (Amazon RDS) à partir d'un environnement sur site.

Brève description

Le chiffrement de sauvegarde est disponible dans SQL Server 2014 (12.x) et versions ultérieures. Spécifiez l'algorithme de chiffrement et le chiffreur pour la sauvegarde. Cela crée un fichier de sauvegarde chiffré.

Remarque : cette fonctionnalité est différente du chiffrement TDE (Transparent Data Encryption). Pour plus d'informations, consultez la section Prise en charge du chiffrement transparent des données dans SQL Server.

Résolution

Pour restaurer une sauvegarde sur site ou chiffrée Microsoft Azure sur Amazon RDS, vous devez disposer d'une sauvegarde du certificat de serveur. Sans le certificat, vous ne pouvez pas restaurer la sauvegarde sur Amazon RDS. Pour plus d'informations, consultez la page Chiffrement de sauvegarde sur le site Web de Microsoft.

Restaurer les sauvegardes chiffrées sur site

Avant de commencer à restaurer une sauvegarde chiffrée, assurez-vous d'avoir créé les ressources suivantes :

  • Un compartiment Amazon Simple Storage Service (Amazon S3)
  • Une instance Amazon RDS configurée avec TDE et SQLSERVER_BACKUP_RESTORE dans le groupe d'options.
  1. Utilisez le script suivant dans votre compte sur site pour créer une clé de base de données principale :

    USE Master;GO
    CREATE MASTER KEY ENCRYPTION
    BY PASSWORD='InsertStrongPasswordHere';
    GO

    Pour plus d'informations, consultez la page CRÉER UNE CLÉ PRINCIPALE (Transact-SQL) sur le site Web de Microsoft.

  2. Créez un certificat protégé par la clé primaire de votre compte sur site :

    CREATE CERTIFICATE TDE_CertWITH
    SUBJECT='Database_Encryption';
    GO

    Pour plus d'informations, consultez la page CRÉER UN CERTIFICAT (Transact-SQL) sur le site Web de Microsoft.

  3. Utilisez le script suivant pour lancer une sauvegarde native :

    BACKUP DATABASE [TestDB] TO DISK =N'E:\Backup\EncryptedBackupFromOnpremise.bak' WITH COMPRESSION,ENCRYPTION( ALGORITHM = AES_256, SERVER CERTIFICATE = [TDE_Cert] ), STATS = 10
    GO

    Remarque : il est recommandé d'activer la compression pour les restaurations Amazon RDS. Pour plus d'informations, consultez la page Compression de sauvegarde (SQL Server) sur le site Web de Microsoft.

  4. Utilisez la console de gestion AWS pour charger la sauvegarde chiffrée sur le compartiment S3 tde-db.

  5. Exécutez la commande suivante pour restaurer la base de données :

    exec msdb.dbo.rds_restore_database @restore_db_name='onpremdb',
    @s3_arn_to_restore_from='arn:aws:s3:::tde-db/EncryptedBackupFromOnpremise.bak';

Restaurer les sauvegardes chiffrées de Microsoft Azure

Avant de commencer à restaurer une sauvegarde chiffrée dans un conteneur Microsoft, assurez-vous d'avoir créé les ressources suivantes :

  • Un compartiment Amazon S3.
  • Une instance RDS configurée avec TDE et le groupe d'options SQLSERVER_BACKUP_RESTORE.
  • Un compte sur site configuré avec des certificats pour chiffrer la sauvegarde.
  • Un compte Microsoft Azure actif.
  1. Créez un compte de stockage dans Microsoft Azure. Pour plus d'informations, consultez la page Créer un compte de stockage Azure sur le site Web de Microsoft.

  2. Créez des informations d’identification en fonction de la signature d'accès partagé. Pour plus d'informations, consultez la page Créer des jetons SAS pour vos conteneurs de stockage sur le site Web de Microsoft.

    USE master  CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>]
      -- this name must match the container path, start with https and must not contain a forward slash at the end
    WITH IDENTITY='SHARED ACCESS SIGNATURE'
      -- this is a mandatory string and should not be changed   
     , SECRET = 'sharedaccesssignature'
    GO
  3. Lancez une sauvegarde chiffrée native sur le stockage Microsoft Azure :

    BACKUP DATABASE [TestDB] TO  URL = N'https://backuptestsanketh.blob.core.windows.net/backup/TestDB_backup_2022_09_29_112330.bak' WITH  COPY_ONLY, NOFORMAT, NOINIT,  NAME = N'BackupEnc-Full Database Backup', NOSKIP, NOREWIND, NOUNLOAD, COMPRESSION,
    ENCRYPTION(ALGORITHM = AES_128, SERVER CERTIFICATE = [On_PremTDE_Cert]),  STATS = 10
    GO

    Remarque : Amazon RDS ne prend pas en charge les restaurations de sauvegarde directement à partir de conteneurs de stockage Microsoft Azure. Vous devez télécharger la sauvegarde sur un système intermédiaire.

  4. Utilisez la console de gestion AWS pour charger la sauvegarde chiffrée sur le compartiment S3 tde-db.

  5. Exécutez la commande suivante pour restaurer la sauvegarde chiffrée :

    exec msdb.dbo.rds_restore_database@restore_db_name='AzureBackupEncrypted',
    @s3_arn_to_restore_from='arn:aws:s3:::tde-db/backup/azure-encrypted.bak'

Remarque : si vous avez reçu des erreurs, consultez la section Quels sont les problèmes courants susceptibles de survenir lors de l'utilisation de la sauvegarde et de la restauration natives dans RDS pour SQL Server ?

Informations connexes

Migrer les bases de données SQL Server compatibles TDE vers Amazon RDS pour SQL Server

Comment restaurer un fichier de sauvegarde chiffré avec AWS Key Management Service (AWS KMS) dans RDS pour SQL Server à partir d'un environnement sur site ?