De forma predeterminada, Google Cloud encripta los datos automáticamente cuando están en reposo con claves de encriptación administradas por Google. Si tienes requisitos normativos o de cumplimiento específicos relacionados con las claves que protegen los datos, puedes usar las claves de encriptación administradas por el cliente (CMEK).
Con las CMEK, puedes proteger tus datos de Copia de seguridad y DR con una clave criptográfica que controlas a través de Cloud Key Management Service (Cloud KMS). Cuando usas CMEK, administras la clave en Cloud Key Management Service y puedes controlar quién puede acceder a ella administrando los permisos de Identity and Access Management en la clave. Si inhabilitas de forma temporal la clave CMEK o la borras de forma permanente, no se podrá acceder a los datos protegidos por esa clave. Para obtener más información sobre las CMEK en general, consulta Claves de encriptación administradas por el cliente (CMEK).
Backup and DR usa la CMEK para proteger los datos de copias de seguridad almacenados en las backup vaults.
Cómo usa CMEK Backup and DR
Según el recurso del que se cree una copia de seguridad, Backup and DR usa las claves de CMEK para proteger las copias de seguridad de la siguiente manera:
Para las copias de seguridad de instancias de Compute Engine almacenadas en un backup vault: Si uno o más discos conectados a una instancia de Compute Engine están encriptados con CMEK, Backup and DR requiere que se cree una copia de seguridad de esa instancia en un backup vault habilitado para CMEK. Si todos los discos conectados a la instancia usan la encriptación administrada por Google, en la consola de Google Cloud , debes almacenar las copias de seguridad en una bóveda de copias de seguridad que no sea de CMEK. Sin embargo, si usas Google Cloud CLI, la API o Terraform, puedes configurar copias de seguridad para que se almacenen en una bóveda de copias de seguridad habilitada para CMEK.
Si se almacena una copia de seguridad de una instancia de Compute Engine en una bóveda de copias de seguridad habilitada para CMEK, sus datos de copia de seguridad se encriptan con la clave de Cloud Key Management Service de la bóveda, independientemente del estado de encriptación de los discos de la instancia.
Para las copias de seguridad de discos persistentes: Backup and DR conserva la encriptación del disco de origen, ya que se basa en la encriptación de la carga de trabajo de origen. Si el Persistent Disk de origen está protegido por CMEK, sus copias de seguridad también lo estarán con la misma clave de CMEK. Si el Persistent Disk de origen usa la encriptación administrada por Google, sus copias de seguridad también la usarán y se deberán almacenar en una bóveda de copias de seguridad que no esté configurada con CMEK.
En la siguiente tabla, se resume qué clave de encriptación se usa para las copias de seguridad de diferentes tipos de cargas de trabajo:
| Carga de trabajo | Clave de encriptación utilizada para la copia de seguridad | Estado de compatibilidad con CMEK |
|---|---|---|
| Instancia de Compute Engine | Clave de CMEK del backup vault | Admitido |
| Disco de Compute Engine | Clave de encriptación del disco de origen | Admitido |
| Cloud SQL | - | No compatible |
| Clúster de AlloyDB | - | No compatible |
| Instancia de Filestore | - | No compatible |
| Google Cloud VMware Engine, base de datos de Oracle y base de datos de SQL Server | - | No compatible |
Limitaciones
La compatibilidad de Backup and DR con CMEK tiene las siguientes limitaciones:
- La protección con CMEK solo es compatible con las copias de seguridad de instancias de Compute Engine y Persistent Disk almacenadas en backup vaults.
- Solo puedes configurar la CMEK en una bóveda de copias de seguridad en el momento de la creación. No puedes habilitar, inhabilitar ni cambiar la CMEK en una bóveda de copias de seguridad existente.
- La clave de Cloud Key Management Service debe estar en la misma ubicación que la bóveda de copias de seguridad. Una backup vault en una región debe usar una clave de la misma región. Un backup vault multirregional debe usar una clave de la misma región múltiple.
- Backup y DR no admite claves de encriptación proporcionadas por el cliente (CSEK).
- La backup vault y el plan de copias de seguridad predeterminados usan la encriptación administrada por Google. Para usar la CMEK, debes crear una bóveda de copias de seguridad nueva y habilitar la CMEK de forma explícita.
Antes de comenzar
Antes de comenzar a usar la CMEK, completa los siguientes pasos:
Habilita la API de Cloud Key Management Service en el proyecto que almacenará tus claves de CMEK.
Crea un llavero de claves y una clave de Cloud Key Management Service. Cuando crees tu clave, asegúrate de seleccionar una ubicación que coincida con la de tu backup vault. Una bóveda de copias de seguridad en una región debe usar una clave de la misma región. Una bóveda de copias de seguridad multirregional debe usar una clave de la misma multirregión.
Si aún no se creó, crea el agente de servicio de Backup and DR. El agente de servicio se crea automáticamente después de que se crea el primer recurso de Backup and DR (bóveda de copias de seguridad,consola de Google Cloud , etcétera) en un proyecto. Si necesitas otorgar permisos al agente de servicio antes de crear una backup vault, puedes activar su creación con el siguiente comando:
Reemplazagcloud beta services identity create --service=backupdr.googleapis.com --project=PROJECT_ID
PROJECT_IDpor el ID de tu proyecto.
Otorga permisos para la CMEK
Para que Backup and DR proteja las copias de seguridad con CMEK o cree copias de seguridad de los recursos protegidos por CMEK, debes otorgar roles de IAM a agentes de servicio específicos.
Otorga permiso para usar la clave de CMEK de la bóveda
Cuando configuras CMEK para una bóveda de copias de seguridad, Backup and DR necesita permiso para usar tu clave de CMEK para encriptar y desencriptar datos. Este permiso se debe otorgar al agente de servicio de Backup and DR.
Es importante distinguir entre dos cuentas de servicio diferentes que usa Backup and DR:
- Agente de servicio de Backup and DR: Es una cuenta de servicio a nivel del proyecto que se usa para administrar los recursos de Backup and DR y para acceder a las claves de Cloud Key Management Service cuando se configura un backup vault con CMEK. Este es el agente de servicio que requiere el rol
roles/cloudkms.cryptoKeyEncrypterDecrypteren la clave de CMEK. - Cuenta de servicio de la bóveda de copias de seguridad: Es una cuenta de servicio única por bóveda a la que le otorgas permisos para acceder a las cargas de trabajo de origen y crear copias de seguridad de ellas (como las instancias de Compute Engine). Esta cuenta de servicio no se usa para la encriptación con CMEK de los datos dentro de la bóveda de copias de seguridad.
Para usar la CMEK con Backup and DR, debes otorgar el rol de Encriptador/Desencriptador de CryptoKey de Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) al agente de servicio de Backup and DR. Este agente de servicio es una cuenta de servicio que Backup and DR usa para acceder a los recursos en tu nombre, incluido el acceso a tu clave de Cloud Key Management Service durante las operaciones de encriptación y desencriptación.
El agente de servicio de Backup and DR se denomina con el siguiente formato:
service-VAULT_PROJECT_NUMBER@gcp-sa-backupdr.iam.gserviceaccount.com
Reemplaza VAULT_PROJECT_NUMBER por el número del proyecto que contiene tu bóveda de copias de seguridad.
Puedes otorgar este rol en el momento de la creación de la bóveda de copias de seguridad con la consola de Google Cloud si tienes permisos para otorgar roles de IAM, o bien puedes otorgarlo con anticipación con el comando gcloud kms keys add-iam-policy-binding:
gcloud kms keys add-iam-policy-binding KEY_NAME \
--location=KMS_LOCATION \
--keyring=KEY_RING \
--member=serviceAccount:service-VAULT_PROJECT_NUMBER@gcp-sa-backupdr.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Puedes otorgar este rol en una clave específica, como se muestra en el ejemplo, o bien puedes otorgarlo a nivel del llavero de claves o del proyecto. Otorgar permisos a nivel de la clave proporciona el control más detallado y se recomienda para el principio de privilegio mínimo. Otorgar permisos a nivel del proyecto o del llavero es más conveniente si deseas que Backup and DR use varias claves dentro de ese alcance, pero otorga permisos más amplios.
Otorga permiso para crear copias de seguridad de recursos protegidos por CMEK
Si creas una copia de seguridad de un recurso que ya está encriptado con una clave de CMEK diferente, como una instancia de Compute Engine con discos encriptados con CMEK, se requieren permisos adicionales. El agente de servicio del servicio del recurso de origen necesita permiso para usar las claves que protegen el recurso de origen. Por ejemplo, para crear una copia de seguridad de una instancia de Compute Engine encriptada con CMEK, el agente de servicio de Compute Engine del proyecto de la instancia de origen debe tener el rol roles/cloudkms.cryptoKeyEncrypterDecrypter en las claves de Cloud Key Management Service que se usan para encriptar los discos de la instancia. En la mayoría de los casos, este permiso ya está establecido para que la carga de trabajo de origen esté operativa.
Usa CMEK con Backup and DR
En esta sección, se describe el flujo de trabajo para proteger copias de seguridad con CMEK.
1. Crea un backup vault habilitado con CMEK
Cuando crees una bóveda de copias de seguridad, selecciona la opción Clave de encriptación administrada por el cliente (CMEK) en la sección Encriptación y elige la clave de Cloud Key Management Service que creaste. Solo puedes habilitar la CMEK durante la creación de la bóveda. No se puede habilitar, inhabilitar ni cambiar en una bóveda existente.
2. Crear un plan de creación de copias de seguridad
Cuando crees un plan de copia de seguridad, selecciona la backup vault habilitada para CMEK que creaste en el paso anterior como la backup vault de destino para las copias de seguridad.
3. Aplica el plan de copia de seguridad a los recursos
Cuando aplicas un plan de copias de seguridad a un recurso, debes asegurarte de que el plan esté dirigido a una backup vault que sea compatible con la configuración de encriptación del recurso:
- Si creas una copia de seguridad de una instancia de Compute Engine que tiene uno o más discos encriptados con CMEK conectados, debes usar un plan de copias de seguridad que apunte a un almacén de copias de seguridad habilitado para CMEK.
- Si creas una copia de seguridad de una instancia de Compute Engine en la que todos los discos conectados usan la encriptación administrada por Google, haz lo siguiente:
- Si asignas el plan de copia de seguridad con la consola de Google Cloud , debes usar un plan de copia de seguridad que tenga como destino una backup vault que no sea de CMEK.
- Si asignas el plan de copia de seguridad con gcloud CLI, la API o Terraform, puedes elegir un plan de copia de seguridad que tenga como objetivo una bóveda de copias de seguridad habilitada para CMEK. Si lo haces, las copias de seguridad de la instancia se encriptarán con la clave CMEK del almacén de copias de seguridad.
- Si creas una copia de seguridad de un Persistent Disk que usa la encriptación administrada por Google, debes usar un plan de copias de seguridad que apunte a una bóveda de copias de seguridad que no sea de CMEK.
Asegúrate de haber otorgado los permisos de KMS necesarios, como se detalla en Otorga permisos para la CMEK, para que las copias de seguridad se ejecuten correctamente.
Rotación de claves y capacidad de restauración de copias de seguridad de Cloud Key Management Service
Backup and DR admite la rotación de claves de Cloud Key Management Service. Cuando rotas una clave, Cloud Key Management Service crea una versión de clave nueva, que se convierte en la versión principal. La copia de seguridad y la DR usan la versión de clave primaria para encriptar todas las copias de seguridad nuevas de las bóvedas de copias de seguridad configuradas con esa clave.
Las copias de seguridad existentes no se vuelven a encriptar y permanecen encriptadas con la versión de clave con la que se crearon. Para restablecer una copia de seguridad, la versión de clave que se usó para encriptarla debe estar disponible en Cloud Key Management Service. Si inhabilitas o destruyes una versión de clave, no se podrá acceder a las copias de seguridad encriptadas con esa versión. Para garantizar que se puedan restablecer tus copias de seguridad, no inhabilite ni destruya las versiones de claves que aún usan las copias de seguridad que tal vez necesite restablecer.
Si Backup and DR no puede acceder a tu clave de CMEK por algún motivo (por ejemplo, si la versión de clave necesaria para la encriptación o desencriptación está inhabilitada o destruida, o si se revocaron los permisos de IAM en la clave del agente de servicio de Backup and DR), es posible que experimentes lo siguiente:
- Las copias de seguridad nuevas en los backup vaults habilitados para CMEK fallarán si no se puede acceder a la versión de la clave principal.
- Las restauraciones desde bóvedas de copias de seguridad fallarán si no se puede acceder a la versión de clave específica que se usó para encriptar la copia de seguridad.
- No podrás crear bóvedas de copias de seguridad nuevas que usen una clave inaccesible.
Si inhabilitaste una versión de clave que se usó para las copias de seguridad, volver a habilitarla restablece el acceso a las copias de seguridad encriptadas con esa versión. Si destruyes una versión de clave, se perderán de forma permanente todas las copias de seguridad encriptadas con esa versión de clave y no se podrán restablecer.
Precios
Backup and DR no cobra tarifas adicionales por usar la CMEK. Sin embargo, se te cobrará por el uso de tus claves en Cloud Key Management Service. Para obtener más información, consulta los precios de Cloud Key Management Service.
¿Qué sigue?
- Obtén más información para crear y administrar bóvedas de copias de seguridad.