¿Cómo puedo restaurar un archivo de copia de seguridad cifrado por KMS en RDS para SQL Server desde un entorno local?
Quiero restaurar un archivo de copia de seguridad cifrado con AWS Key Management Service (AWS KMS) desde un entorno local a una instancia de Amazon Relational Database Service (Amazon RDS) para Microsoft SQL Server. ¿Cómo puedo hacer esto con la función de copia de seguridad y restauración nativa?
Descripción corta
El cifrado de AWS KMS cifra de forma segura un archivo de copia de seguridad de Microsoft SQL Server en RDS para SQL Server mediante una clave de AWS KMS. Puede restaurar la copia de seguridad cifrada en otra instancia de RDS para SQL Server.
Resolución
Nota: Antes de iniciar la siguiente resolución, asegúrese de que dispone de lo siguiente:
- Un bucket de Amazon Simple Storage Service (Amazon S3).
- Una clave de AWS KMS administrada por el cliente.
Nota: Amazon RDS no admite claves de AWS KMS asimétricas. - Una instancia de RDS preconfigurada para realizar la restauración de la copia de seguridad nativa. Si desea obtener más información, consulte ¿Cómo realizo copias de seguridad nativas de una instancia de base de datos de Amazon RDS que ejecuta SQL Server?
- Python 3.10 instalado en el sistema local para descifrar los archivos de copia de seguridad.
1. Inicie el cifrado del cliente en la copia de seguridad nativa al especificar el parámetro de clave de 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. Restaure la copia de seguridad cifrada de AWS KMS en otra instancia de RDS para SQL Server en la misma región y cuenta. Para ello, especifique la misma clave de AWS KMS utilizada para cifrar la copia de seguridad en el siguiente comando:
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';
Restaurar una copia de seguridad cifrada de AWS KMS en otra región con la misma cuenta
Si la copia de seguridad cifrada de AWS KMS necesita restaurarse en otra región con la misma cuenta, haga lo siguiente:
1. Cree una clave de AWS KMS entre regiones. Asegúrese de elegir Symmetric key (Clave simétrica) para el tipo de clave.
2. Cree claves de réplica para la región de destino requerida.
3. Inicie una copia de seguridad nativa cifrada al especificar el parámetro de clave de AWS KMS (@kms_master_key_arn) en la región 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. Copie el archivo de copia de seguridad al bucket de S3 en la misma región. Amazon RDS no admite buckets entre regiones.
5. Restaure la copia de seguridad cifrada de AWS KMS en la región B al especificar el mismo ID de clave de AWS KMS que se utilizó para cifrar la copia de seguridad.
Nota: La región asociada a @kms_master_key_arn cambia en consecuencia.
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';
Restaure una copia de seguridad cifrada de AWS KMS en un entorno local, entre cuentas o entre regiones.
Los tres escenarios siguientes requieren una solución alternativa para restaurar la copia de seguridad:
- La copia de seguridad de la base de datos cifrada de AWS KMS debe restaurarse en la misma región, pero con una cuenta diferente (entre cuentas). Amazon RDS no admite el uso compartido de claves de AWS KMS entre cuentas. Esto significa que no puede cifrar una copia de seguridad en la cuenta A con la clave KMS K1 y, a continuación, restaurar la copia de seguridad en la cuenta B con la misma clave.
- La copia de seguridad de la base de datos cifrada de AWS KMS debe restaurarse en una región diferente y en una cuenta diferente (entre regiones y entre cuentas). Amazon RDS no admite el uso compartido de claves de AWS KMS entre cuentas ni buckets entre regiones.
- La copia de seguridad de base de datos cifrada de AWS KMS debe restaurarse en un entorno local. El entorno local no conoce los detalles de clave de AWS KMS porque es una entidad externa. Por lo tanto, debe descifrar los archivos cifrados de AWS KMS antes de realizar la restauración.
Para obtener una solución alternativa a estas limitaciones, consulte la sección Export from Amazon RDS for SQL Server (Exportar desde Amazon RDS para SQL Server) en Client-side encryption and decryption of Microsoft SQL Server backups for use with Amazon RDS (Cifrado y descifrado del cliente de copias de seguridad de Microsoft SQL Server para su uso con Amazon RDS).
Información relacionada
Migrate TDE-enabled SQL Server databases to Amazon RDS for SQL Server (Migración de bases de datos de SQL Server con TDE a Amazon RDS para SQL Server)

Contenido relevante
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace un año