Saltar al contenido

¡Transforma tus conexiones en dinero para el final del año con nuestro nuevo Programa de Indicación de Clientes! Descubre más

Esta documentación es para la versión 4 y posteriores de App Builder, el nuevo nombre de Vinyl. Accede a la documentación de Vinyl aquí.

Cómo agregar una columna cifrada a una tabla en Jitterbit App Builder

El cifrado a nivel de aplicación se puede utilizar para proteger los datos confidenciales almacenados en las columnas de una tabla. El cifrado y el descifrado se realizan dentro del motor de negocio de App Builder. Por lo tanto, el cifrado a nivel de aplicación es independiente del proveedor: App Builder admite el cifrado de columnas a nivel de aplicación en todos los proveedores de RDBMS.

Para agregar una columna encriptada a una tabla, comience iniciando sesión en App Builder como administrador.

  1. Vaya al App Workbench
  2. Haga clic en el ficha Tablas
  3. Identifique la tabla a la que desea agregar la columna y haga clic en el ícono Abrir registro correspondiente
  4. En el panel Columnas, haga clic en el botón + Columna
  5. Proporcione la columna Nombre y seleccione las siguientes opciones:
    • Tipo de dato lógico: Cadena
    • Tipo de dato físico: Texto cifrado
  6. Haga clic en el botón Guardar
  7. Haga clic en el icono Cerrar (X) para cerrar la ventana emergente.

Cualquier valor escrito en la columna se cifrará automáticamente. Los valores leídos de la columna se descifrarán automáticamente.

Si tiene acceso directo a la base de datos, puede confirmar que los datos están cifrados. Comience cifrando un valor:

  1. En el panel Tabla, ubique la tabla y haga clic en el ícono Resultados para ver los datos de la tabla.
  2. Haga clic en el icono Editar para modificar una fila existente
  3. Proporcione un valor para la columna cifrada
  4. Haga clic en el icono Guardar

Conéctese a la base de datos con una herramienta como SQL Server Management Studio. Seleccione los datos de la tabla. Los datos cifrados tendrán como prefijo la secuencia de bytes 0x09F0.

Uso de una columna de tabla cifrada

Las columnas cifradas se pueden usar de varias maneras. Normalmente, un desarrollador crea un objeto de datos que selecciona la columna cifrada de la tabla de destino. Mediante la seguridad basada en roles, el desarrollador puede limitar el acceso al objeto de datos. Posteriormente, puede vincular un panel al objeto de datos y un control de texto o contraseña a la columna cifrada. En ese momento, los usuarios con permiso para acceder al objeto de datos podrán ver y modificar el valor de texto sin formato.

Además de vincular controles a columnas cifradas, también es posible crear reglas de negocio CRUD que copien datos hacia y desde columnas cifradas. Las reglas de negocio CRUD se pueden usar para:

  • Migrar datos de columnas no cifradas a columnas cifradas (o viceversa).
  • Copiar datos confidenciales dentro o fuera de un sistema de externo.
  • Pasar datos confidenciales a un extremo de servicio web REST u OData. Finalmente, los plugins pueden usar columnas cifradas. Sin embargo, la compatibilidad con columnas cifradas varía según el plugin. Consulte la documentación del plugin para obtener más información.

Claves de cifrado de datos

Los datos de las columnas se cifran con una clave de cifrado de datos (DEK). Cada fuente de datos tiene su propio conjunto de claves rotativas. Aunque cualquier clave puede usarse para descifrar datos, solo se utiliza una clave para el cifrado en cada momento. Se crea una nueva DEK cada 90 días.

Las DEK están vinculadas a los siguientes atributos en el modelo lógico de App Builder:

  • DataSourceId - El identificador de la fuente de datos aísla las claves.
  • TableId - El identificador de la tabla se utiliza para crear una clave derivada para la tabla.
  • ColumnId - El identificador de columna se utiliza para crear una clave derivada para la columna.

Advertencia

Si el DataSourceId, TableId o ColumnId Si se modifica, los valores cifrados existentes no se pueden descifrar.

Además, cada valor de columna tiene un vector de inicialización único. Por lo tanto, el mismo valor de texto plano tendrá un texto cifrado binario diferente en distintas filas.

Visualización de claves de cifrado de datos

Dado que las DEK se utilizan para cifrar datos dentro de la base de datos, la clave criptográfica no se puede almacenar en ella. Por este motivo, las DEK se almacenan en una de varias ubicaciones configurables. Consulte Configuración de cifrado de datos para obtener más información.

Aunque el material de la clave no se almacena en la base de datos, sus atributos son visibles desde App Builder. Para acceder a los detalles de la clave de cifrado de una fuente de datos, inicie sesión en App Builder como administrador.

  1. Vaya al App Workbench
  2. Haga clic en el ficha Fuentes de datos
  3. Seleccione la base de datos relacional en el panel Fuente de datos
  4. Haga clic en el botón Claves de cifrado

La página Claves de cifrado de datos enumerará las propiedades de clave existentes:

  • Fecha de creación: la fecha y hora en que se generó la clave.
  • Fecha de activación: la fecha y hora en que se utilizó la clave para cifrar los datos de la columna.
  • Fecha de vencimiento: la fecha y hora en que la clave ya no se utilizó para cifrar datos.

Nota

Dado que las claves de cifrado de datos se crean a pedido, una fuente de datos no tendrá ninguna clave de cifrado de datos hasta que los datos se cifren primero.

Algoritmos de cifrado y validación

El cifrado proporciona confidencialidad, validación y autenticidad (también conocida como protección contra manipulaciones).

App Builder cifra los datos utilizando AES-256 en el modo de cifrado de bloque CBC con relleno PKCS #7.

App Builder garantiza la integridad de los datos cifrados mediante HMAC-SHA256.

Problemas y limitaciones conocidos

La siguiente lista describe problemas conocidos y limitaciones con la despliegue del cifrado a nivel de columna de App Builder.

  • Sólo el tipo de datos lógicos String admite el cifrado.
  • Sólo los proveedores de datos RDBMS admiten el cifrado.
  • No se puede convertir una columna al tipo de datos de almacenamiento cifrado.
  • Una columna no se puede convertir del tipo de datos de almacenamiento cifrado a otro tipo de datos.
  • Las columnas cifradas no admiten filtros, búsquedas ni ordenamientos.
  • Los controles como páginas, paneles y listas no se pueden vincular a una columna cifrada.
  • Las columnas cifradas no admiten traducción.
  • App Builder no migra automáticamente los valores cifrados con claves antiguas: es responsabilidad del desarrollador volver a cifrar los datos periódicamente. No se pueden migrar datos a/desde columnas cifradas mediante una regla de migración. Los desarrolladores deben usar reglas de negocio CRUD para migrar datos a/desde columnas cifradas. No se pueden copiar datos a/desde columnas cifradas mediante reglas de base de datos CRUD. Los desarrolladores deben usar reglas de negocio CRUD para mover datos a/desde columnas cifradas.
  • Las expresiones mvSQL solo pueden hacer referencia al texto cifrado binario, no al valor de texto simple de una columna cifrada.
  • Si un valor cifrado no se puede descifrar, no se muestra ningún error: el valor parece ser NULL.