Integración de Key Protect

Los datos que almacene en bases de datos IBM Cloud® se cifra de forma predeterminada mediante claves que se generan aleatoriamente. Para controlar las claves de cifrado, puede utilizar su propia clave (BYOK) a través de IBM Key Protect y utilizar una de sus propias claves para cifrar sus bases de datos y copias de seguridad.

Este documento trata sobre la integración de Key Protect con Cloud Databases, que incluye Databases for PostgreSQL, Databases for MongoDB, Databases for Redis, Databases for Elasticsearch IBM Cloud® Databases for MySQL,, y Messages for RabbitMQ.

Para empezar, debe tener Key Protect suministrado en su cuenta de IBM Cloud.

Creación o adición de una clave en Key Protect

Vaya a la instancia de Key Protect y genere o especifique una clave.

Autorización de servicios en la interfaz de usuario

Autorice el uso de Key Protect con despliegues de Cloud Databases:

  1. Abra el panel de control de IBM Cloud.
  2. En la barra de menú, haga clic en Administrar-> Acceso (IAM).
  3. En el panel de navegación lateral, pulse Autorizaciones.
  4. Pulse Crear.
  5. En el menú Servicio de origen, seleccione el servicio del despliegue. Por ejemplo, Bases de datos para PostgreSQL o Mensajes para RabbitMQ
  6. En el menú Recursos del servicio Source, seleccione Todos los recursos.
  7. En el menú Servicio de destino, seleccione Key Protect.
  8. Seleccione o mantenga el valor predeterminado Cuenta como grupo de recursos para el servicio de destino.
  9. En el menú ID de instancia del servicio de destino, seleccione las instancias de servicio que desea autorizar.
  10. Habilite el rol Lector.
  11. Para utilizar la característica "Traer su propia clave" (BYOK) para copias de seguridad, seleccione el recuadro Habilitar autorizaciones para que se deleguen en la sección Autorizar servicios dependientes.
  12. Pulse Autorizar.

Si la autorización de servicio no está presente antes de suministrar su despliegue con una clave, el suministro falla.

Utilización de la clave de Key Protect

Después de otorgar el permiso de los despliegues de Cloud Databases para utilizar las claves, proporcione el nombre de clave o CRN al suministrar un despliegue. El despliegue utiliza la clave de cifrado para cifrar los datos.

Uso de la tecla Key Protect en la interfaz de usuario

Si se suministra desde la página del catálogo, seleccione la instancia de Key Protect y la clave en los menús desplegables.

Uso de la clave Key Protect en la CLI

En la CLI, utilice el parámetro disk_encryption_key_crn en el objeto JSON parameters.

ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE-NAME> standard us-south \
-p \ '{
  "disk_encryption_key_crn": "crn:v1:<...>:key:<id>"
}'

La Key Protect clave debe identificarse mediante su CRN completo, no solo su ID. Un CRN de protección de claves está en el formato crn:v1:<...>:key:<id>.

Utilización de la clave Key Protect en la API

En la API, utilice el parámetro disk_encryption_key en el cuerpo de la solicitud.

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "my-instance",
    "target": "blue-us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "databases-for-x-standard",
    "disk_encryption_key_crn": "crn:v1:<...>:key:<id>"
  }'

La Key Protect clave debe identificarse mediante su CRN completo, no solo su ID. Un CRN de protección de claves está en el formato crn:v1:<...>:key:<id>.

Rotación de claves

Key Protect ofrece rotación de claves manual y automática y la rotación de claves recibe soporte en los despliegues de Cloud Databases. Cuando se rota una clave, el proceso inicia una tarea de sincronización de estado de KMS y el despliegue se vuelve a cifrar con la nueva clave. La tarea se muestra en la página Tareas de la Visión general del despliegue y los sucesos de Key Protect y de Cloud Databases asociados se envían a Activity Tracker.

Para más información, consulte Girar manual o automáticamente.

Supresión de un despliegue

Si suprime un despliegue que está protegido con una clave de Key Protect, el despliegue permanece registrado en la clave durante el periodo de supresión temporal (hasta 9 días). Para borrar la clave en el periodo de borrado suave, fuerce el borrado de la clave. Después del periodo de supresión temporal, la clave se puede suprimir sin tener que forzar la supresión. Para determinar cuándo puede eliminar la clave, compruebe la asociación entre la clave y su implantación.

Cryptoshredding

Cryptoshredding es una acción destructiva. Cuando se suprime la clave, los datos no se pueden recuperar.

Key Protect le permite iniciar una supresión forzada de una clave que está siendo utilizada por los servicios de IBM Cloud®, incluidos los despliegues de Cloud Databases. Esta acción se denomina cryptoshredding. La supresión de una clave que está en uso en el despliegue bloquea los discos que contienen los datos e inhabilita el despliegue. Todavía puede acceder a la interfaz de usuario y a algunos metadatos, como los valores de seguridad en la IU, la CLI y la API, pero no puede acceder a ninguna de las bases de datos o datos que contienen. La supresión de claves se envía a Activity Tracker Event Routing como kms.secrets.delete.

Bring Your Own Key para copias de seguridad

Si utiliza Key Protect, al suministrar una base de datos también puede designar una clave para cifrar el disco de Cloud Object Storage que contiene las copias de seguridad del despliegue.

BYOK para copias de seguridad sólo está disponible en las regiones estadounidenses us-south y us-east, y eu-de.

Solo las us-south claves en y eu-de son resistentes a fallos regionales. Para garantizar que sus copias de seguridad estén disponibles incluso si se produce un fallo en la región, debe utilizar una clave de us-south o eu-de, independientemente de la ubicación de su implementación.

Concesión de la autorización de delegación

Para que su implementación pueda utilizar la Key Protect clave, debe habilitar la delegación de la autorización al conceder las autorizaciones de servicio. Si la autorización de delegación no está presente antes de suministrar su despliegue con una clave, el suministro falla.

Uso de la clave en la provisión en la CLI

Después de otorgar la autorización y la delegación adecuadas, proporcione el nombre de clave o CRN cuando suministre un despliegue.

En la CLI, utilice el parámetro backup_encryption_key_crn en el objeto JSON parameters.

ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE-NAME> standard us-south \
-p \ '{
  "backup_encryption_key_crn": "crn:v1:<...>:key:<id>"
}'

Utilización de la clave a disposición en la API

En la API, utilice el parámetro backup_encryption_key_crn en el cuerpo de la solicitud.

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "my-instance",
    "target": "blue-us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "databases-for-x-standard",
    "backup_encryption_key_crn": "crn:v1:<...>:key:<id>"
  }'

Después de habilitar la delegación y de suministrar el despliegue, aparecen dos entradas en Autorizaciones en IAM. Una es la entrada correspondiente al despliegue que muestra su estado como delegador. Es la entrada "Creada por el usuario".

Ejemplo de delegador Key Protect Authorization
Rol Origen Destino Tipo
AuthorizationDelegator, Lector Servicio <cloud-databases> Servicio Key Protect Definido por el usuario

Y una corresponde al grupo de Cloud Object Storage para sus copias de seguridad, donde el despliegue es el iniciador.

Ejemplo Key Protect Autorización para Cloud Object Storage de Cloud Databases
Rol Origen Destino Tipo
Lector Servicio Cloud Object Storage Servicio Key Protect Creado por <cloud-databases-crn>

Eliminación de claves

IAM/Key Protect no impide que elimine la política entre la clave y Cloud Object Storage (el segundo ejemplo), pero, si lo hace, es posible que las copias de seguridad no se puedan restaurar. Para evitarlo, si suprime la política de Cloud Object Storage que controla la capacidad de Cloud Databases de utilizar la clave para Cloud Object Storage, la política se vuelve a crear para seguir haciendo la copia de seguridad del despliegue.

Tenga cuidado al eliminar las claves y las autorizaciones. Si tiene varios despliegues que utilizan las mismas claves, se podrían destruir accidentalmente copias de seguridad de todos los despliegues revocando la autorización de delegación. Si es posible, no utilice la misma clave para las copias de seguridad de varias implementaciones.

Si desea destruir las copias de seguridad, puede suprimir la clave. Cloud Object Storage garantiza que el almacenamiento sea ilegible y no se pueda grabar. Sin embargo, cualquier otra implementación que utilice esa misma clave para las copias de seguridad encontrará fallos posteriores en las copias de seguridad.

Si necesita que se utilice la misma clave para las copias de seguridad de varios despliegues, la eliminación de claves y autorizaciones puede tener los siguientes efectos secundarios.

  • Si solo suprime la autorización de Cloud Object Storage (tal como se ve en la Tabla 2), no solo se verá afectado el despliegue que se muestra como el creador afectado, sino que cualquier despliegue que también utilice la misma clave también se verá afectado. Estos despliegues pueden experimentar errores de copia de seguridad temporales hasta que se vuelva a crear automáticamente la política. No debería haber efectos duraderos, excepto por la falta de copias de seguridad.
  • Si elimina solo la autorización Cloud Databases del delegador, creada por usted (como se muestra en la Tabla 1), nada se rompe inmediatamente porque la segunda autorización sigue vigente. Sin embargo, si se elimina la autorización de Cloud Object Storage, no se puede volver a crear y puede hacer que varios despliegues que utilizan la misma clave pierdan la capacidad de realizar la copia de seguridad.
  • Si suprime la autorización de Cloud Object Storage Y la autorización del delegador de Cloud Databases, todos los despliegues que utilizan la misma clave perderán de inmediato la capacidad de hacer copia de seguridad y no se podrán volver a crear las autorizaciones correctas, lo que dará lugar a la destrucción efectiva de las copias de seguridad correspondientes a todos los despliegues que utilizan dicha clave.

Tenga cuidado si reutiliza claves.