Comment restaurer un fichier de sauvegarde crypté par KMS sur RDS pour SQL Server à partir d'un environnement sur site ?

Dernière mise à jour : 2022-10-14

Je souhaite restaurer un fichier de sauvegarde crypté par AWS Key Management Service (AWS KMS) depuis un environnement sur site vers une instance Amazon Relational Database Service (Amazon RDS) pour Microsoft SQL Server. Comment puis-je faire cela à l'aide de la fonction de sauvegarde et de restauration native ?

Brève description

Le chiffrement AWS KMS chiffre en toute sécurité un fichier de sauvegarde Microsoft SQL Server dans RDS for SQL Server à l'aide d'une clé AWS KMS. Vous pouvez restaurer la sauvegarde cryptée sur une autre instance de RDS pour SQL Server.

Solution

Remarque : Avant de commencer la résolution suivante, assurez-vous que vous disposez des éléments suivants :

1.    Initiez le chiffrement côté client sur la sauvegarde native en spécifiant le paramètre clé AWS KMS (@kms_master_key_arn) :

exec msdb.dbo.rds_backup_database @source_db_name='database-name',
@s3_arn_to_backup_to='arn:aws:s3:::bucket-name/Filename.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:account-id:key/xxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxx1';

2.    Restaurez la sauvegarde cryptée AWS KMS dans une autre instance RDS pour SQL Server de la même région et du même compte. Pour ce faire, spécifiez la même clé AWS KMS utilisée pour chiffrer la sauvegarde dans la commande suivante :

exec msdb.dbo.rds_restore_database @restore_db_name='database-name',
@s3_arn_to_restore_from='arn:aws:s3:::bucket-name/Filename.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:account-id:key/xxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxx1';

Restaurer une sauvegarde cryptée AWS KMS dans une autre région sous le même compte

Si la sauvegarde cryptée AWS KMS doit être restaurée dans une autre région sous le même compte, procédez comme suit :

1.    Créez une clé AWS KMS multirégionale. Assurez-vous de choisir Clé symétrique pour le type de clé.

2.    Créez des répliques de clés pour la région de destination requise.

3.    Démarrez une sauvegarde native cryptée en spécifiant le paramètre clé AWS KMS (@kms_master_key_arn) dans la région A :

exec msdb.dbo.rds_backup_database @source_db_name='database-name', 
@s3_arn_to_backup_to='arn:aws:s3:::bucket-name/Filename.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:account-id:key/xxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxx2';

4.    Copiez le fichier de sauvegarde dans le compartiment S3 de la même région. Amazon RDS ne prend pas en charge les compartiments interrégionaux.

5.    Restaurez la sauvegarde cryptée AWS KMS dans la région B, en spécifiant le même ID de clé AWS KMS utilisé pour chiffrer la sauvegarde.

Remarque : La région associée à @kms_master_key_arn change en conséquence.

exec msdb.dbo.rds_restore_database ;@restore_db_name='database-name',
@s3_arn_to_restore_from='arn:aws:s3:::bucket-name/Filename.bak',
@kms_master_key_arn='arn:aws:kms:us-east-2:account-id:key/xxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxx2';

Restaurez une sauvegarde cryptée AWS KMS dans un environnement sur site, entre comptes ou entre régions.

Les trois scénarios suivants nécessitent une solution pour restaurer la sauvegarde :

  • La sauvegarde cryptée de la base de données AWS KMS doit être restaurée dans la même région mais sous un compte différent (multicomptes). Amazon RDS ne prend pas en charge le partage de clés AWS KMS entre comptes. Cela signifie que vous ne pouvez pas crypter une sauvegarde dans le compte A avec la clé KMS K1, puis restaurer la sauvegarde dans le compte B à l'aide de la même clé.
  • La sauvegarde cryptée de la base de données AWS KMS doit être restaurée dans une région différente et dans un compte différent (entre régions et comptes). Amazon RDS ne prend pas en charge le partage de clés AWS KMS entre comptes ni les compartiments entre régions.
  • La sauvegarde cryptée de la base de données AWS KMS doit être restaurée dans un environnement sur site. L'environnement sur site ne connaît pas les détails clés d'AWS KMS car il s'agit d'une entité externe. Vous devez donc décrypter les fichiers cryptés AWS KMS avant de procéder à la restauration.

Pour trouver une solution à ces limitations, consultez la section Exporter depuis Amazon RDS pour SQL Server dans le chiffrement et déchiffrement côté client des sauvegardes Microsoft SQL Server destinées à être utilisées avec Amazon RDS.