Proveedor de seguridad de claves API en Jitterbit App Builder
El proveedor de seguridad Clave API permite a los administradores proteger las APIs REST de App Builder mediante 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 a un usuario individual, esto proporciona autenticación y autorización.
Definición y casos de uso
Las claves API de App Builder consisten en un número criptográficamente aleatorio de 128 bits. 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 y 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 revocarse fácilmente.
- Se pueden rotar. Son más rápidos. Las contraseñas deben estar cifradas, 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 fugas. Algunos casos de uso donde las claves API pueden ser el método de autenticación más adecuado incluyen:
- Cuentas de nivel de servicio
- Comunicación de aplicación a aplicación
- Comunicación de servidor a servidor
- Acceso de sólo lectura
- Información no sensible
Agregar una clave API
Para agregar una nueva clave API, vaya a IDE > Proveedores de seguridad.
Se mostrará la página Seguridad, donde la tabla Autenticación de usuario mostrará todos los métodos de autenticación de usuario actuales. Si no hay claves API o si desea crear una nueva, haga clic en el botón + Autenticación de usuario. Aparecerá el cuadro de diálogo Proveedor, con los siguientes campos:
-
En la sección Configuración:
-
Nombre: Ingrese un nombre para identificar su clave API.
-
Tipo: En el menú desplegable, seleccione Clave API como el tipo de proveedor de seguridad que está creando. Al hacerlo, se modificarán los demás campos que se muestran en el cuadro de diálogo.
-
Prioridad: Ingrese un número para establecer el orden en que aparecen los proveedores de seguridad en el formulario de inicio de sesión.
-
Habilitado: Haga clic en esta casilla de verificación para activar su clave API.
-
Identificador: Este campo es generado automáticamente por App Builder.
-
-
En la sección Teclas:
-
Caducidad predeterminada: Ingrese la duración predeterminada de las nuevas claves en minutos. (Modificar este campo no afecta las claves existentes).
-
Caducidad máxima: Ingrese la duración máxima de las nuevas claves en minutos. (Modificar este campo no afecta las claves existentes).
-
Longitud: Ingrese la longitud (en bytes) de las nuevas claves. (Modificar este campo no afecta las claves existentes).
-
Cuando termine, haga clic en Guardar. Si desea salir sin guardar, haga clic en Cancelar. Después de guardar una nueva clave API, volverá a la página Seguridad, donde la tabla Autenticación de usuario mostrará la nueva clave API que acaba de crear. Al hacer clic en el Al final de la fila, puedes continuar configurándolo.
Configurar una clave API
Para configurar una clave API, vaya a IDE > Proveedores de seguridad. Localice la clave API que desea editar en la tabla Autenticación de usuario y haga clic en el botón Icono al final de la fila. Se mostrará la página Proveedor, donde puede agregar configuraciones adicionales. El panel Proveedor, a la izquierda, muestra las mismas configuraciones y claves que al crear una nueva clave. El panel Propiedades, a la derecha, le permite configurar parámetros adicionales, que se describen a continuación.
Para agregar una nueva propiedad, haga clic en el botón + Propiedad. Se abrirá el cuadro de diálogo Propiedades, que contiene los campos Parámetro y Valor. Están disponibles los siguientes parámetros:
Nota
Ninguno de estos parámetros es obligatorio. Solo debe agregarlos si necesita cambiar la configuración predeterminada de su clave API. Consulte Transferir una clave API para obtener más información.
-
AllowApiKeyInQueryString
: Utilice este parámetro para permitir que la clave API se pase en la cadena de consultar en lugar de en el encabezado HTTP (consulte Pasar una clave API sección). El valor predeterminado esFalse
. -
AllowInsecureHttp
: Utilice este parámetro para permitir que la clave API se pase a través de una solicitud HTTP insegura en lugar de una solicitud HTTPS segura (consulte Pasar una clave API sección). El valor predeterminado esFalse
. -
HttpHeaderName
: Utilice este parámetro para cambiar el nombre del encabezado HTTP que pasará la clave API del valor predeterminadoX-API-Key
. -
QueryStringParameterName
: Cuando también hayas utilizado elAllowApiKeyInQueryString
Opción para pasar la clave API a través de uno de los parámetros de la cadena de consultar, puede usar esta opción para cambiar el nombre del parámetro del nombre predeterminadoapiKey
(vea Pasar una clave API (sección).
Haga clic en Guardar y cierre el cuadro de diálogo Propiedades. El nuevo parámetro añadido aparecerá en la tabla Propiedades.
Pasar una clave API
En la mayoría de los casos, Jitterbit recomienda que el cliente pase la clave API mediante un encabezado personalizado en una conexión HTTPS segura para limitar el riesgo de exposición. El siguiente ejemplo lo ilustra:
GET /App Builder/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 adopta automáticamente. Si lo desea o lo necesita, puede usar el HttpHeaderName
parámetro al configurar su clave API para cambiar el nombre del encabezado HTTP que pasará la clave API del valor predeterminado X-API-Key
.
Los siguientes ejemplos son algunas excepciones a esta recomendación:
-
En algunos casos, las conexiones HTTPS pueden finalizar prematuramente. Para solucionar este problema, puede forzar a App Builder a aceptar las claves de API enviadas mediante conexiones HTTP configurando
AllowInsecureHttp
parámetro aTrue
durante configuración de la clave API. -
Si no tiene acceso a los encabezados de solicitud HTTP, también es posible enviar la clave API mediante los parámetros de la cadena de consultar. Para habilitar esta opción, configure
AllowApiKeyInQueryString
aTrue
en las configuraciones de clave API. El siguiente ejemplo ilustra cómo se pasa la clave API en este escenario:GET /App Builder/rest/v1/sales/customers?apiKey=ABCd0eFG1hiJKLMnOPQr2s HTTP/1.1 HOST: example.com:443 Accept: application/json
Tenga en cuenta que en el ejemplo anterior la clave se envió con el nombre
apiKey
Puedes cambiar esto yendo a Configuración de la clave API y añadiendo elQueryStringParameterName
Parámetro para elegir un nombre diferente.