Backup e ripristino dei TDE certificati su for Server RDS SQL - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Backup e ripristino dei TDE certificati su for Server RDS SQL

RDSfor SQL Server fornisce procedure archiviate per il backup, il ripristino e l'eliminazione dei certificati. TDE RDSfor SQL Server fornisce anche una funzione per la visualizzazione dei certificati utente ripristinati. TDE

TDEI certificati utente vengono utilizzati per ripristinare i database di RDS for SQL Server che sono locali e sono stati TDE attivati. Questi certificati hanno il prefisso UserTDECertificate_. Dopo aver ripristinato i database e prima di renderli disponibili per l'uso, RDS modifica i database che sono stati TDE attivati per utilizzare RDS certificati generati. TDE Questi certificati hanno il prefisso RDSTDECertificate.

TDEI certificati utente rimangono nell'istanza di RDS for SQL Server DB, a meno che non vengano eliminati utilizzando la rds_drop_tde_certificate stored procedure. Per ulteriori informazioni, consulta Eliminazione dei certificati ripristinati TDE.

È possibile utilizzare un TDE certificato utente per ripristinare altri database dall'istanza DB di origine. I database da ripristinare devono utilizzare lo stesso TDE certificato e essere TDE attivati. Non è necessario importare (ripristinare) nuovamente lo stesso certificato.

Prerequisiti

Prima di eseguire il backup o il ripristino TDE dei certificati su RDS for SQL Server, assicurati di eseguire le seguenti attività. Le prime tre sono descritte in Configurazione di backup e ripristino nativi.

  1. Crea bucket Amazon S3 per l'archiviazione di file di cui eseguire il backup e il ripristino.

    Ti consigliamo di utilizzare bucket separati per i backup dei database e per i backup dei TDE certificati.

  2. Crea un IAM ruolo per il backup e il ripristino dei file.

    Il IAM ruolo deve essere sia un utente che un amministratore per. AWS KMS key

    Oltre alle autorizzazioni richieste per il backup e il ripristino nativi del SQL server, il IAM ruolo richiede anche le seguenti autorizzazioni:

    • s3:GetBucketACL, s3:GetBucketLocation e s3:ListBucket sulla risorsa di bucket S3

    • s3:ListAllMyBuckets sulla risorsa *

  3. Aggiungi l'opzione SQLSERVER_BACKUP_RESTORE a un gruppo di opzioni sull'istanza database.

    Questa è in aggiunta all'opzione TRANSPARENT_DATA_ENCRYPTION (TDE).

  4. Assicurati di disporre di una chiave di crittografia simmetrica. KMS Sono disponibili le seguenti opzioni:

    • Se hai una KMS chiave esistente nel tuo account, puoi usarla. Non è richiesta alcuna operazione aggiuntiva.

    • Se non disponi di una KMS chiave di crittografia simmetrica esistente nel tuo account, crea una KMS chiave seguendo le istruzioni in Creazione delle chiavi nella Guida per gli AWS Key Management Service sviluppatori.

  5. Abilita l'integrazione con Amazon S3 per trasferire file tra l'istanza database e Amazon S3.

    Per ulteriori informazioni sull'abilitazione dell'integrazione di Amazon S3, consulta Integrazione di un'istanza database Amazon RDS for SQL Server con Amazon S3.

Limitazioni

L'utilizzo di procedure memorizzate per il backup e il ripristino TDE dei certificati presenta le seguenti limitazioni:

  • Le opzioni SQLSERVER_BACKUP_RESTORE e TRANSPARENT_DATA_ENCRYPTION (TDE) devono essere entrambe aggiunte al gruppo di opzioni associato all'istanza database.

  • TDEil backup e il ripristino dei certificati non sono supportati sulle istanze DB Multi-AZ.

  • L'annullamento delle attività di backup e ripristino dei TDE certificati non è supportato.

  • Non è possibile utilizzare un TDE certificato utente per la TDE crittografia di nessun altro database sull'istanza di RDS for SQL Server DB. Puoi usarlo per ripristinare solo altri database dall'istanza DB di origine che sono stati TDE attivati e che utilizzano lo stesso TDE certificato.

  • Puoi eliminare solo TDE i certificati utente.

  • Il numero massimo di TDE certificati utente supportati RDS è 10. Se il numero supera i 10, elimina i TDE certificati non utilizzati e riprova.

  • Il nome del certificato non può essere vuoto o nullo.

  • Durante il ripristino di un certificato, il nome del certificato non può includere la parola chiave RDSTDECERTIFICATE e deve iniziare con il prefisso UserTDECertificate_.

  • Il parametro @certificate_name può includere solo i seguenti caratteri: a-z, 0-9, @, $, # e carattere di sottolineatura (_).

  • L'estensione file per @certificate_file_s3_arn deve essere .cer (senza distinzione tra maiuscole e minuscole).

  • L'estensione file per @private_key_file_s3_arn deve essere .cer (senza distinzione tra maiuscole e minuscole).

  • I metadati S3 per il file della chiave privata devono includere il tag x-amz-meta-rds-tde-pwd. Per ulteriori informazioni, consulta Backup e ripristino dei TDE certificati per i database locali.

Eseguire il backup di un certificato TDE

Per eseguire il backup TDE dei certificati, utilizzare la rds_backup_tde_certificate stored procedure. Di seguito è riportata la sintassi utilizzata.

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];

I parametri seguenti sono obbligatori:

  • @certificate_name— Il nome del TDE certificato di cui eseguire il backup.

  • @certificate_file_s3_arn— Amazon Resource Name (ARN) di destinazione per il file di backup del certificato in Amazon S3.

  • @private_key_file_s3_arn— La destinazione S3 ARN del file di chiave privata che protegge il certificato. TDE

  • @kms_password_key_arn— La ARN chiave simmetrica utilizzata per crittografare la password della KMS chiave privata.

Il parametro seguente è facoltativo:

  • @overwrite_s3_files – Indica se sovrascrivere il certificato esistente e i file di della chiave privata in S3:

    • 0 – Il file esistente non viene sovrascritto. Questo è il valore predefinito.

      L'impostazione di @overwrite_s3_files su 0 restituisce un errore se il file esiste già.

    • 1 – Il file esistente con il nome specificato viene sovrascritto, anche se non è un file di backup.

Esempio di eseguire il backup di un certificato 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;

Ripristino di un certificato TDE

Si utilizza la rds_restore_tde_certificate stored procedure per ripristinare (importare) TDE i certificati utente. Di seguito è riportata la sintassi utilizzata.

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';

I parametri seguenti sono obbligatori:

  • @certificate_name— Il nome del TDE certificato da ripristinare. Il nome deve iniziare con il prefisso UserTDECertificate_.

  • @certificate_file_s3_arn— L'S3 ARN del file di backup utilizzato per ripristinare il TDE certificato.

  • @private_key_file_s3_arn— L'S3 ARN del file di backup con chiave privata del TDE certificato da ripristinare.

  • @kms_password_key_arn— La ARN chiave simmetrica utilizzata per crittografare la password della KMS chiave privata.

Esempio del ripristino di un certificato 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';

Visualizzazione dei certificati ripristinati TDE

Si utilizza la rds_fn_list_user_tde_certificates funzione per visualizzare i TDE certificati utente ripristinati (importati). Di seguito è riportata la sintassi utilizzata.

SELECT * FROM msdb.dbo.rds_fn_list_user_tde_certificates();

L'output è simile a quello riportato di seguito. Non tutte le colonne sono mostrate qui.

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

Eliminazione dei certificati ripristinati TDE

Per eliminare i TDE certificati utente ripristinati (importati) che non stai utilizzando, utilizza la rds_drop_tde_certificate stored procedure. Di seguito è riportata la sintassi utilizzata.

EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_certificate_name';

Il parametro seguente è obbligatorio:

  • @certificate_name— Il nome del TDE certificato da eliminare.

È possibile eliminare solo i TDE certificati ripristinati (importati). Non puoi eliminare i RDS certificati creati.

Esempio di eliminare un certificato TDE
EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_myTDEcertificate';