Proveedor de seguridad de clave API en Jitterbit App Builder
El proveedor de seguridad de Clave API permite a los administradores asegurar las API REST de App Builder utilizando un código de clave API generado por App Builder. El consumidor pasa la clave API a App Builder al realizar solicitudes de API REST. Dado que cada clave API está asociada con un usuario individual, esto proporciona tanto autenticación como autorización.
Definición y casos de uso
Las claves API de App Builder consisten en un número aleatorio criptográficamente de 128 bits. Las claves están codificadas en base64url. A continuación se muestra un ejemplo de una clave API:
DLOo9sPS5slJEMHpXBFt3g
Las claves API tienen las siguientes ventajas sobre la autenticación estándar de nombre de usuario/contraseña:
- Tienen mayor entropía que las combinaciones de nombre de usuario y contraseña.
- Pueden sobrevivir a un restablecimiento de contraseña.
- Pueden ser revocadas fácilmente.
- Pueden ser rotadas.
- Son más rápidas. Las contraseñas deben ser hasheadas, lo cual es deliberadamente lento.
Las desventajas, o debilidades, de las claves API incluyen la gestión de su distribución y el riesgo de filtraciones. Algunos de los casos de uso donde las claves API pueden ser el método de autenticación más adecuado incluyen:
- Cuentas a nivel de servicio
- Comunicación de aplicación a aplicación
- Comunicación de servidor a servidor
- Acceso solo de lectura
- Información no sensible
Agregar un proveedor de seguridad de clave API
Para agregar un nuevo proveedor de seguridad de clave API, sigue estos pasos:
-
Ve a IDE > Proveedores de Seguridad. Se abre la página de Seguridad.
-
En la tabla de Autenticación de Usuario, haz clic en + Autenticación de Usuario. Aparece el cuadro de diálogo de Proveedor:

-
En la sección de Configuraciones, completa estos campos:
-
Nombre: Ingresa un nombre para identificar tu proveedor de seguridad de clave API.
-
Tipo: En el menú desplegable, selecciona Clave API como el tipo de proveedor de seguridad que estás creando. Al hacer esto, se alterarán los demás campos que se muestran en el cuadro de diálogo.
-
Prioridad: Ingresa un número para establecer el orden en el que los proveedores de seguridad aparecen en el formulario de inicio de sesión.
-
Habilitado: Haz clic en esta casilla para activar el nuevo proveedor de seguridad.
-
Identificador: Este campo es generado automáticamente por App Builder.
-
-
En la sección Claves, completa estos campos:
-
Expiración Predeterminada: Ingresa cuántos minutos será la duración predeterminada de las nuevas claves. (Alterar este campo no afecta a las claves existentes.)
-
Expiración Máxima: Ingresa cuántos minutos será la duración máxima de las nuevas claves. (Alterar este campo no afecta a las claves existentes.)
-
Longitud: Ingresa la longitud (en bytes) de las nuevas claves. (Alterar este campo no afecta a las claves existentes.)
-
-
Haz clic en Guardar.
Después de guardar un nuevo proveedor de seguridad de clave API, serás llevado de regreso a la página Seguridad, donde la tabla de Autenticación de Usuarios mostrará el nuevo que acabas de crear. Al hacer clic en el ícono al final de su fila, puedes continuar configurándolo.
Configurar un proveedor de seguridad de clave API
Para configurar tu proveedor de seguridad de clave API, ve a IDE > Proveedores de Seguridad. Localízalo en la tabla de Autenticación de Usuarios y haz clic en el ícono al final de su fila. Se mostrará la página Proveedor, donde puedes agregar configuraciones adicionales. El panel Proveedor a la izquierda muestra los mismos ajustes y claves que se mostraron cuando creaste el proveedor de seguridad. El panel Propiedades a la derecha te permite configurar algunos parámetros adicionales, descritos a continuación.
Para agregar una nueva propiedad, haz clic en el botón + Propiedad. Esto abrirá el diálogo de Propiedades, que contiene los campos Parámetro y Valor. Los siguientes parámetros están disponibles:

Nota
Ninguno de estos parámetros es obligatorio. Solo debes agregarlos si hay necesidad de cambiar la forma en que se pasará tu clave API desde la configuración predeterminada. Consulta Pasar una clave API para aprender más.
-
AllowApiKeyInQueryString: Utiliza este parámetro para permitir que la clave de API se pase en la cadena de consulta en lugar de en el encabezado HTTP (consulta la sección Pass an API key). El valor predeterminado esFalse. -
AllowInsecureHttp: Utiliza este parámetro para permitir que la clave de API se pase a través de una solicitud HTTP insegura en lugar de una solicitud HTTPS segura (consulta la sección Pass an API key). El valor predeterminado esFalse. -
HttpHeaderName: Utiliza este parámetro para cambiar el nombre del encabezado HTTP que pasará la clave de API del predeterminadoX-API-Key. -
QueryStringParameterName: Cuando también hayas utilizado la opciónAllowApiKeyInQueryStringpara pasar la clave de API a través de uno de los parámetros de la cadena de consulta, puedes usar esta opción para cambiar el nombre del parámetro del nombre predeterminadoapiKey(consulta la sección Pass an API key).
Haz clic en Guardar y cierra el diálogo de Propiedades. El nuevo parámetro que has agregado se listará en la tabla de Propiedades.
Generate an API key
Cuando tengas un proveedor de seguridad de clave de API configurado, puedes generar claves de API asociadas con usuarios siguiendo estos pasos:
-
Ve a IDE > Runtime > Gestión de Usuarios.
-
El panel de Usuarios lista todos los usuarios. Localiza al usuario para el que deseas generar una clave de API y haz clic en el ícono al final de su fila.
-
En el diálogo de Usuario, haz clic en Más > Claves. Se abrirá el diálogo de Claves.
-
Haz clic en Crear. Se abrirá el diálogo de Generar Clave.
-
En el menú Proveedor, selecciona el proveedor de seguridad de clave de API que creaste.
-
(Opcional) Proporciona una Descripción para esta clave e ingresa un tiempo de expiración personalizado en el campo Expira En.
-
Haz clic en Guardar. La clave de API será creada.
Pass an API key
En la mayoría de los escenarios, Jitterbit recomienda que el cliente pase la clave de API a través de un encabezado personalizado en una conexión HTTPS segura para limitar el riesgo de exposición. El siguiente ejemplo ilustra esto:
GET /Vinyl/rest/v1/sales/customers HTTP/1.1
Host: example.com:443
Accept: application/json
X-API-Key: ABCd0eFG1hiJKLMnOPQr2s
Este es el comportamiento predeterminado, que App Builder selecciona automáticamente. También puedes usar el parámetro HttpHeaderName al configurar tu clave API para cambiar el nombre del encabezado HTTP que pasará la clave API del predeterminado X-API-Key.
Los siguientes ejemplos son algunas excepciones a esta recomendación:
-
En algunos escenarios, las conexiones HTTPS pueden ser terminadas prematuramente. Para solucionar este problema, puedes forzar a App Builder a aceptar claves API enviadas a través de conexiones HTTP configurando el parámetro
AllowInsecureHttpaTruedurante la configuración de la clave API. -
En casos donde no tienes acceso a los encabezados de la solicitud HTTP, también es posible enviar la clave API a través de los parámetros de la cadena de consulta. Para habilitar esta opción, configura
AllowApiKeyInQueryStringaTrueen las configuraciones de la clave API. El siguiente ejemplo ilustra cómo se pasa la clave API en este escenario:GET /Vinyl/rest/v1/sales/customers?apiKey=ABCd0eFG1hiJKLMnOPQr2s HTTP/1.1 HOST: example.com:443 Accept: application/jsonNota
En el ejemplo anterior, la clave se envió bajo el nombre
apiKey. Puedes cambiar esto yendo a la configuración de la clave API y agregando el parámetroQueryStringParameterNamepara elegir un nombre diferente.