Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
TDEZertifikate sichern und wiederherstellen auf dem RDS SQL Server
RDSfor SQL Server stellt gespeicherte Prozeduren zum Sichern, Wiederherstellen und Löschen von TDE Zertifikaten bereit. RDSfor SQL Server bietet auch eine Funktion zum Anzeigen wiederhergestellter TDE Benutzerzertifikate.
TDEBenutzerzertifikate werden verwendet, um Datenbanken auf RDS for SQL Server wiederherzustellen, die sich vor Ort befinden und TDE eingeschaltet sind. Diese Zertifikate haben das Präfix UserTDECertificate_
. RDSÄndert nach dem Wiederherstellen der Datenbanken und vor deren Bereitstellung zur Nutzung die Datenbanken, die TDE aktiviert wurden, sodass sie RDS TDE -generierte Zertifikate verwenden. Diese Zertifikate haben das Präfix RDSTDECertificate
.
TDEBenutzerzertifikate verbleiben in der RDS for SQL Server-DB-Instance, sofern Sie sie nicht mithilfe der rds_drop_tde_certificate
gespeicherten Prozedur löschen. Weitere Informationen finden Sie unter Löschen TDE wiederhergestellter Zertifikate.
Sie können ein TDE Benutzerzertifikat verwenden, um andere Datenbanken aus der Quell-DB-Instance wiederherzustellen. Die wiederherzustellenden Datenbanken müssen dasselbe TDE Zertifikat verwenden und TDE aktiviert sein. Sie müssen das entsprechende Zertifikat nicht erneut importieren (wiederherstellen).
Themen
Voraussetzungen
Bevor Sie TDE Zertifikate auf RDS dem SQL Server sichern oder wiederherstellen können, stellen Sie sicher, dass Sie die folgenden Aufgaben ausführen. Die ersten drei sind in Einrichtung für native Backups und Wiederherstellungen beschrieben.
-
Erstellen Sie Amazon-S3-Buckets zum Speichern von Dateien, die gesichert und wiederhergestellt werden sollen.
Wir empfehlen, separate Buckets für Datenbanksicherungen und TDE Zertifikatsicherungen zu verwenden.
-
Erstellen Sie eine IAM Rolle für das Sichern und Wiederherstellen von Dateien.
Die IAM Rolle muss sowohl ein Benutzer als auch ein Administrator für sein AWS KMS key.
Zusätzlich zu den Berechtigungen, die für die systemeigene Sicherung und Wiederherstellung auf dem SQL Server erforderlich sind, sind für die IAM Rolle auch die folgenden Berechtigungen erforderlich:
-
s3:GetBucketACL
,s3:GetBucketLocation
unds3:ListBucket
in der S3-Bucket-Ressource -
s3:ListAllMyBuckets
in der Ressource*
-
-
Fügen Sie die Option
SQLSERVER_BACKUP_RESTORE
einer Optionsgruppe auf Ihrer DB-Instance hinzu.Dies gilt zusätzlich zu der Option
TRANSPARENT_DATA_ENCRYPTION
(TDE
). -
Stellen Sie sicher, dass Sie über einen symmetrischen KMS Verschlüsselungsschlüssel verfügen. Ihnen stehen folgende Optionen zur Verfügung:
-
Wenn Sie einen vorhandenen KMS Schlüssel in Ihrem Konto haben, können Sie ihn verwenden. Es sind keine weiteren Maßnahmen erforderlich.
-
Wenn in Ihrem Konto noch kein symmetrischer KMS Verschlüsselungsschlüssel vorhanden ist, erstellen Sie einen KMS Schlüssel, indem Sie den Anweisungen unter Schlüssel erstellen im AWS Key Management Service Entwicklerhandbuch folgen.
-
-
Aktivieren Sie die Amazon-S3-Integration, um Dateien zwischen der DB-Instance und Amazon S3 zu übertragen.
Weitere Informationen zum Aktivieren der Amazon-S3-Integration finden Sie unter Integrieren einer Amazon RDS for SQL Server-DB-Instance mit Amazon S3.
Einschränkungen
Die Verwendung von gespeicherten Prozeduren zum Sichern und Wiederherstellen von TDE Zertifikaten hat die folgenden Einschränkungen:
-
Beide Optionen, sowohl
SQLSERVER_BACKUP_RESTORE
als auchTRANSPARENT_DATA_ENCRYPTION
(TDE
), müssen der Optionsgruppe hinzugefügt werden, die mit Ihrer DB-Instance verbunden ist. -
TDESicherung und Wiederherstellung von Zertifikaten werden auf Multi-AZ-DB-Instances nicht unterstützt.
-
Das Abbrechen von Aufgaben zur Sicherung und Wiederherstellung von TDE Zertifikaten wird nicht unterstützt.
-
Sie können kein TDE Benutzerzertifikat für die TDE Verschlüsselung einer anderen Datenbank auf Ihrer RDS for SQL Server-DB-Instance verwenden. Sie können damit nur andere Datenbanken aus der Quell-DB-Instance wiederherstellen, die TDE eingeschaltet sind und dasselbe TDE Zertifikat verwenden.
-
Sie können nur TDE Benutzerzertifikate löschen.
-
Die maximale Anzahl von TDE Benutzerzertifikaten, die auf unterstützt werden, RDS ist 10. Wenn die Anzahl 10 überschreitet, löschen Sie nicht verwendete TDE Zertifikate und versuchen Sie es erneut.
-
Der Zertifikatsname darf nicht leer oder null sein.
-
Beim Wiederherstellen eines Zertifikats darf der Zertifikatname das Schlüsselwort
RDSTDECERTIFICATE
nicht enthalten und muss mit dem PräfixUserTDECertificate_
beginnen. -
Der
@certificate_name
-Parameter darf nur die folgenden Zeichen enthalten: a–z, 0–9, @, $, # und Unterstrich (_). -
Die Dateierweiterungen für
@certificate_file_s3_arn
muss .cer (Groß-/Kleinschreibung wird nicht berücksichtigt) lauten. -
Die Dateierweiterungen für
@private_key_file_s3_arn
muss .pvk (Groß-/Kleinschreibung wird nicht berücksichtigt) lauten. -
Die S3-Metadaten für die private Schlüsseldatei müssen das Tag
x-amz-meta-rds-tde-pwd
enthalten. Weitere Informationen finden Sie unter TDEZertifikate für lokale Datenbanken sichern und wiederherstellen.
Ein TDE Zertifikat sichern
Verwenden Sie die rds_backup_tde_certificate
gespeicherte Prozedur, um TDE Zertifikate zu sichern. Es hat die folgende Syntax.
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
];
Die folgenden Parameter sind erforderlich:
-
@certificate_name
— Der Name des TDE Zertifikats, das gesichert werden soll. -
@certificate_file_s3_arn
— Der Ziel-Amazon-Ressourcenname (ARN) für die Zertifikat-Backup-Datei in Amazon S3. -
@private_key_file_s3_arn
— Das Ziel S3 ARN der privaten Schlüsseldatei, die das TDE Zertifikat sichert. -
@kms_password_key_arn
— Der ARN des symmetrischen KMS Schlüssels, der zur Verschlüsselung des Kennworts für den privaten Schlüssel verwendet wird.
Der folgende Parameter ist optional:
-
@overwrite_s3_files
– Gibt an, ob das vorhandene Zertifikat und die privaten Schlüsseldateien in S3 überschrieben werden sollen:-
0
– Die vorhandenen Dateien werden nicht überschrieben. Dieser Wert ist der Standard.Wenn Sie
@overwrite_s3_files
auf 0 festlegen, wird ein Fehler ausgegeben, wenn eine Datei bereits vorhanden ist. -
1
– Eine vorhandene Datei mit dem angegebenen Namen wird überschrieben, auch wenn es sich nicht um eine Sicherungsdatei handelt.
-
Beispiel des Backups eines Zertifikats 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
;
Ein TDE Zertifikat wiederherstellen
Sie verwenden die rds_restore_tde_certificate
gespeicherte Prozedur, um TDE Benutzerzertifikate wiederherzustellen (zu importieren). Es hat die folgende Syntax.
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
';
Die folgenden Parameter sind erforderlich:
-
@certificate_name
— Der Name des TDE wiederherzustellenden Zertifikats. Der Name muss mit dem PräfixUserTDECertificate_
beginnen. -
@certificate_file_s3_arn
— Das S3 ARN der Sicherungsdatei, die zur Wiederherstellung des TDE Zertifikats verwendet wurde. -
@private_key_file_s3_arn
— Das S3 ARN der Backup-Datei mit dem privaten Schlüssel des wiederherzustellenden TDE Zertifikats. -
@kms_password_key_arn
— Der ARN des symmetrischen KMS Schlüssels, der zur Verschlüsselung des Passworts für den privaten Schlüssel verwendet wird.
Beispiel des Wiederherstellens eines Zertifikats 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
';
Wiederhergestellte TDE Zertifikate anzeigen
Sie verwenden die rds_fn_list_user_tde_certificates
Funktion, um wiederhergestellte (importierte) TDE Benutzerzertifikate einzusehen. Es hat die folgende Syntax.
SELECT * FROM msdb.dbo.rds_fn_list_user_tde_certificates();
Die Ausgabe sieht in etwa folgendermaßen aus. Hier werden nicht alle Spalten angezeigt.
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 |
Löschen TDE wiederhergestellter Zertifikate
Verwenden Sie die rds_drop_tde_certificate
gespeicherte Prozedur, um wiederhergestellte (importierte) TDE Benutzerzertifikate zu löschen, die Sie nicht verwenden. Es hat die folgende Syntax.
EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_
certificate_name
';
Der folgende Parameter ist erforderlich:
-
@certificate_name
— Der Name des TDE Zertifikats, das gelöscht werden soll.
Sie können nur wiederhergestellte (importierte) TDE Zertifikate löschen. Sie können RDS erstellte Zertifikate nicht löschen.
Beispiel vom Löschen eines Zertifikats TDE
EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_
myTDEcertificate
';