Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Sauvegarde et restauration de certificats TDE sur RDS for SQL Server
RDS for SQL Server fournit des procédures stockées pour la sauvegarde, la restauration et la suppression de certificats TDE. RDS for SQL Server fournit également une fonction permettant d'afficher les certificats TDE utilisateur restaurés.
Les certificats TDE utilisateur sont utilisés pour restaurer des bases de données sur site et pour lesquelles TDE est activé sur RDS for SQL Server. Ces certificats ont le préfixe UserTDECertificate_
. Après avoir restauré les bases de données et avant de les mettre à disposition, RDS modifie les bases de données sur lesquelles TDE est activé pour utiliser les certificats TDE générés par RDS. Ces certificats ont le préfixe RDSTDECertificate
.
Les certificats TDE utilisateur restent sur l'instance de base de données RDS for SQL Server, sauf si vous les supprimez en utilisant la procédure stockée rds_drop_tde_certificate
. Pour de plus amples informations, veuillez consulter Suppression de certificats TDE restaurés.
Vous pouvez utiliser un certificat TDE utilisateur pour restaurer d'autres bases de données à partir de l'instance de base de données source. Les bases de données à restaurer doivent utiliser le même certificat TDE et TDE doit être activé sur celles-ci. Il n'est pas nécessaire d'importer (restaurer) à nouveau le même certificat.
Rubriques
Prérequis
Avant de pouvoir sauvegarder ou restaurer des certificats TDE sur RDS for SQL Server, veillez à effectuer les tâches suivantes. Les trois premières tâches sont décrites dans Configuration pour les sauvegarde et restauration natives.
-
Créez des compartiments Amazon S3 pour y stocker les fichiers à sauvegarder et à restaurer.
Nous vous recommandons d'utiliser des compartiments distincts pour les sauvegardes de bases de données et pour les sauvegardes de certificats TDE.
-
Créez un rôle IAM pour la sauvegarde et la restauration de fichiers.
Le rôle IAM doit être à la fois un utilisateur et un administrateur de la AWS KMS key.
Outre les autorisations requises pour la sauvegarde et la restauration natives SQL Server, le rôle IAM exige également les autorisations suivantes :
-
s3:GetBucketAcl
,s3:GetBucketLocation
ets3:ListBucket
sur la ressource du compartiment S3 -
s3:ListAllMyBuckets
sur la ressource*
-
-
Ajoutez l'option
SQLSERVER_BACKUP_RESTORE
à un groupe d'options sur votre instance de base de données.Elle vient s'ajouter à l'option
TRANSPARENT_DATA_ENCRYPTION
(TDE
). -
Vérifiez que vous disposez d'une clé KMS de chiffrement symétrique. Vous avez les options suivantes :
-
Si vous disposez déjà d'une clé KMS dans votre compte, vous pouvez l'utiliser. Aucune action supplémentaire n'est nécessaire.
-
Si votre compte ne contient pas encore de clés de chiffrement KMS symétriques, créez-en une en suivant les instructions de la section Creating keys (Création de clés) du Guide du développeur AWS Key Management Service .
-
-
Activez l'intégration Amazon S3 pour transférer des fichiers entre l'instance de base de données et Amazon S3.
Pour plus d'informations sur l'activation de l'intégration d'Amazon S3, consultez Intégration d'une instance de base de données Amazon RDS for SQL Server à Amazon S3.
Limites
L'utilisation de procédures stockées pour sauvegarder et restaurer des certificats TDE présente les limites suivantes :
-
Les options
SQLSERVER_BACKUP_RESTORE
etTRANSPARENT_DATA_ENCRYPTION
(TDE
) doivent être ajoutées au groupe d'options que vous avez associé à votre instance de base de données. -
La sauvegarde et la restauration de certificats TDE ne sont pas prises en charge sur les instances de base de données multi-AZ.
-
L'annulation des tâches de sauvegarde et de restauration de certificats TDE n'est pas prise en charge.
-
Vous ne pouvez pas utiliser de certificat TDE utilisateur pour le chiffrement TDE d'une autre base de données sur votre instance de base de données RDS for SQL Server. Vous pouvez l'utiliser pour restaurer uniquement d'autres bases de données à partir de l'instance de base de données source sur laquelle TDE est activé et qui utilisent le même certificat TDE.
-
Vous ne pouvez supprimer que des certificats TDE utilisateur.
-
Le nombre maximal de certificats TDE utilisateur pris en charge sur RDS est de 10. Si le nombre dépasse 10, supprimez les certificats TDE inutilisés et réessayez.
-
Le nom de certificat ne peut pas être vide ou null.
-
Lors de la restauration d'un certificat, le nom du certificat ne peut pas inclure le mot-clé
RDSTDECERTIFICATE
et doit commencer par le préfixeUserTDECertificate_
. -
Le paramètre
@certificate_name
peut inclure uniquement les caractères suivants : a-z, 0-9, @, $, # et trait de soulignement (_). -
L'extension de fichier de
@certificate_file_s3_arn
doit être .cer (insensible à la casse). -
L'extension de fichier de
@private_key_file_s3_arn
doit être .pvk (insensible à la casse). -
Les métadonnées S3 du fichier de clé privée doivent inclure la balise
x-amz-meta-rds-tde-pwd
. Pour de plus amples informations, veuillez consulter Sauvegarde et restauration des TDE certificats pour les bases de données locales.
Sauvegarde d'un certificat TDE
Pour sauvegarder les certificats TDE, utilisez la procédure stockée rds_backup_tde_certificate
. Elle possède la syntaxe suivante.
EXECUTE msdb.dbo.rds_backup_tde_certificate @certificate_name='UserTDECertificate_
certificate_name
| RDSTDECertificatetimestamp
', @certificate_file_s3_arn='arn:aws:s3:::bucket_name
/certificate_file_name.cer
', @private_key_file_s3_arn='arn:aws:s3:::bucket_name
/key_file_name.pvk
', @kms_password_key_arn='arn:aws:kms:region
:account-id
:key/key-id
', [@overwrite_s3_files=0|1
];
Les paramètres suivants sont obligatoires :
-
@certificate_name
: nom du certificat TDE à sauvegarder. -
@certificate_file_s3_arn
: Amazon Resource Name (ARN) de destination pour le fichier de sauvegarde de certificat dans Amazon S3. -
@private_key_file_s3_arn
: ARN S3 de destination du fichier de clé privée qui sécurise le certificat TDE. -
@kms_password_key_arn
: ARN de la clé KMS symétrique utilisée pour chiffrer le mot de passe de la clé privée.
Le paramètre suivant est facultatif :
-
@overwrite_s3_files
: indique s'il convient de remplacer le certificat existant et les fichiers de clé privée dans S3 :-
0
: n'écrase pas les fichiers existants. Cette valeur est celle par défaut.Si
@overwrite_s3_files
est défini sur 0, une erreur est renvoyée si un fichier existe déjà. -
1
– Écrase le fichier existant qui possède déjà le nom spécifié, même s'il ne s'agit pas d'un fichier de sauvegarde.
-
Exemple de sauvegarde d'un certificat TDE
EXECUTE msdb.dbo.rds_backup_tde_certificate @certificate_name='RDSTDECertificate20211115T185333', @certificate_file_s3_arn='arn:aws:s3:::
TDE_certs
/mycertfile.cer
', @private_key_file_s3_arn='arn:aws:s3:::TDE_certs
/mykeyfile.pvk
', @kms_password_key_arn='arn:aws:kms:us-west-2
:123456789012
:key/AKIAIOSFODNN7EXAMPLE
', @overwrite_s3_files=1
;
Restauration d'un certificat TDE
Vous utilisez la procédure stockée rds_restore_tde_certificate
pour restaurer (importer) des certificats TDE utilisateur. Elle possède la syntaxe suivante.
EXECUTE msdb.dbo.rds_restore_tde_certificate @certificate_name='UserTDECertificate_
certificate_name
', @certificate_file_s3_arn='arn:aws:s3:::bucket_name
/certificate_file_name.cer
', @private_key_file_s3_arn='arn:aws:s3:::bucket_name
/key_file_name.pvk
', @kms_password_key_arn='arn:aws:kms:region
:account-id
:key/key-id
';
Les paramètres suivants sont obligatoires :
-
@certificate_name
: nom du certificat TDE à restaurer. Le nom doit commencer par le préfixeUserTDECertificate_
. -
@certificate_file_s3_arn
: ARN S3 du fichier de sauvegarde utilisé pour restaurer le certificat TDE. -
@private_key_file_s3_arn
: ARN S3 du fichier de sauvegarde de la clé privée du certificat TDE à restaurer. -
@kms_password_key_arn
: ARN de la clé KMS symétrique utilisée pour chiffrer le mot de passe de la clé privée.
Exemple de restauration d'un certificat TDE
EXECUTE msdb.dbo.rds_restore_tde_certificate @certificate_name='UserTDECertificate_
myTDEcertificate
', @certificate_file_s3_arn='arn:aws:s3:::TDE_certs
/mycertfile.cer
', @private_key_file_s3_arn='arn:aws:s3:::TDE_certs
/mykeyfile.pvk
', @kms_password_key_arn='arn:aws:kms:us-west-2
:123456789012
:key/AKIAIOSFODNN7EXAMPLE
';
Affichage des certificats TDE restaurés
Vous utilisez la fonction rds_fn_list_user_tde_certificates
pour afficher les certificats TDE utilisateur restaurés (importés). Elle possède la syntaxe suivante.
SELECT * FROM msdb.dbo.rds_fn_list_user_tde_certificates();
La sortie se présente comme suit : Les colonnes ne sont pas toutes affichées ici.
name |
certificate_id |
principal_id |
pvt_key_encryption_type_desc |
issuer_name |
cert_serial_number |
thumbprint |
subject |
start_date |
expiry_date |
pvt_key_last_backup_date |
UserTDECertificate_tde_cert |
343 |
1 |
ENCRYPTED_BY_MASTER_KEY |
AnyCompany Shipping |
79 3e 57 a3 69 fd 1d 9e 47 2c 32 67 1d 9c ca af |
0x6BB218B34110388680B FE1BA2D86C695096485B5 |
AnyCompany Shipping |
2022-04-05 19:49:45.0000000 |
2023-04-05 19:49:45.0000000 |
NULL |
Suppression de certificats TDE restaurés
Pour supprimer les certificats TDE utilisateur restaurés (importés) que vous n'utilisez pas, utilisez la procédure stockée rds_drop_tde_certificate
. Elle possède la syntaxe suivante.
EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_
certificate_name
';
Les paramètres suivants sont obligatoires :
-
@certificate_name
: nom du certificat TDE à supprimer.
Vous ne pouvez supprimer que les certificats TDE restaurés (importés). Vous ne pouvez pas supprimer les certificats créés par RDS.
Exemple de suppression d'un certificat TDE
EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_
myTDEcertificate
';