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 certificati TDE su RDS per SQL Server
RDS per SQL Server fornisce stored procedure per il backup, il ripristino e il rilascio di certificati TDE. RDS per SQL Server fornisce inoltre una funzione per la visualizzazione dei certificati TDE utente ripristinati.
I certificati TDE utente vengono utilizzati per ripristinare i database su RDS per SQL Server on-premise e con TDE attivato. Questi certificati hanno il prefisso UserTDECertificate_
. Dopo aver ripristinato i database e prima di renderli disponibili per l'uso, RDS modifica i database in cui TDE è attivato per utilizzare i certificati TDE generati da RDS. Questi certificati hanno il prefisso RDSTDECertificate
.
I certificati TDE dell'utente rimangono nell'istanza database RDS per SQL Server, a meno che non vengano rilasciati utilizzando la stored procedure rds_drop_tde_certificate
. Per ulteriori informazioni, consulta Ripristino di certificati TDE ripristinati.
Puoi utilizzare un certificato TDE utente per ripristinare altri database dall'istanza database di origine. I database da ripristinare devono utilizzare lo stesso certificato TDE e avere TDE attivato. Non è necessario importare (ripristinare) nuovamente lo stesso certificato.
Argomenti
Prerequisiti
Prima poter eseguire il backup o il ripristino dei certificati TDE su RDS per SQL Server, assicurati di eseguire le seguenti attività. Le prime tre sono descritte in Configurazione di backup e ripristino nativi.
-
Crea bucket Amazon S3 per l'archiviazione di file di cui eseguire il backup e il ripristino.
Si consiglia di utilizzare bucket separati per i backup del database e per i backup dei certificati TDE.
-
Crea un ruolo IAM per il backup e il ripristino dei file.
Il ruolo IAM deve essere sia un utente sia un amministratore per AWS KMS key.
Oltre alle autorizzazioni richieste per il backup e il ripristino nativi di SQL Server, il ruolo IAM richiede anche le seguenti autorizzazioni:
-
s3:GetBucketAcl
,s3:GetBucketLocation
es3:ListBucket
sulla risorsa di bucket S3 -
s3:ListAllMyBuckets
sulla risorsa*
-
-
Aggiungi l'opzione
SQLSERVER_BACKUP_RESTORE
a un gruppo di opzioni sull'istanza database.Questa è in aggiunta all'opzione
TRANSPARENT_DATA_ENCRYPTION
(TDE
). -
Assicurati di disporre di una chiave KMS di crittografia simmetrica. Sono disponibili le seguenti opzioni:
-
Se disponi di una chiave KMS esistente nel tuo account, puoi utilizzarla. Non è richiesta alcuna operazione aggiuntiva.
-
Se non disponi di una chiave KMS di crittografia simmetrica esistente nel tuo account, crea una chiave KMS seguendo le istruzioni in Creazione di chiavi nella Guida per gli sviluppatori di AWS Key Management Service .
-
-
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 stored procedure per eseguire il backup e il ripristino di certificati TDE presenta le seguenti limitazioni:
-
Le opzioni
SQLSERVER_BACKUP_RESTORE
eTRANSPARENT_DATA_ENCRYPTION
(TDE
) devono essere entrambe aggiunte al gruppo di opzioni associato all'istanza database. -
Il backup e ripristino del certificato TDE non sono supportati nelle istanze database Multi-AZ.
-
L'annullamento delle attività di backup e ripristino del certificato TDE non è supportata.
-
Non è possibile utilizzare un certificato TDE utente per la crittografia TDE di qualsiasi altro database nell'istanza database di RDS per SQL Server. Puoi utilizzarlo per ripristinare solo altri database dall'istanza database di origine in cui TDE è attivato e che utilizzano lo stesso certificato TDE.
-
Puoi rilasciare solo certificati TDE utente.
-
Il numero massimo di certificati TDE utente supportati su RDS è 10. Se il numero supera 10, rilascia i certificati TDE inutilizzati 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 prefissoUserTDECertificate_
. -
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.
Backup di un certificato TDE
Per eseguire il backup dei certificati TDE, utilizza la stored procedure rds_backup_tde_certificate
. 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
– Nome del certificato TDE di cui eseguire il backup. -
@certificate_file_s3_arn
– Nome della risorsa Amazon (ARN) di destinazione per il file di backup del certificato in Amazon S3. -
@private_key_file_s3_arn
– ARN di S3 di destinazione del file della chiave privata che protegge il certificato TDE. -
@kms_password_key_arn
– ARN della chiave KMS simmetrica utilizzata per crittografare la password della 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 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
La stored procedure rds_restore_tde_certificate
viene utilizzata per ripristinare (importare) certificati TDE 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
– Nome del certificato TDE di cui eseguire il backup. Il nome deve iniziare con il prefissoUserTDECertificate_
. -
@certificate_file_s3_arn
– L'ARN S3 del file di backup utilizzato per ripristinare il certificato TDE. -
@private_key_file_s3_arn
– L'ARN S3 del file di backup utilizzato per ripristinare il certificato TDE. -
@kms_password_key_arn
– L'ARN della chiave KMS simmetrica utilizzata per crittografare la password della chiave privata.
Esempio di 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
';
Ripristino di certificati TDE ripristinati
La funzione rds_fn_list_user_tde_certificates
viene utilizzata per ripristinare (importare) certificati TDE utente. 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 |
Ripristino di certificati TDE ripristinati
Per eliminare i certificati TDE utente ripristinati (importati) che non si utilizzano, utilizzare ilrds_drop_tde_certificate
procedura archiviata. Di seguito è riportata la sintassi utilizzata.
EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_
certificate_name
';
Il parametro seguente è obbligatorio:
-
@certificate_name
– Nome del certificato TDE da rilasciare.
Puoi rilasciare solo i certificati TDE ripristinati (importati). Non puoi rilasciare i certificati creati da RDS.
Esempio di rilascio di un certificato TDE
EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_
myTDEcertificate
';