Claves de aplicación
Las claves de aplicación son tokens de seguridad cifrados en la base de datos de ThingWorx que se pueden utilizar para conectarse a la aplicación de ThingWorx en lugar de utilizar credenciales estándar.
Se pueden pasar tokens de clave de aplicación en la cabecera del URL de una solicitud. La solicitud se ejecuta mediante el contexto de seguridad del usuario asociado a la clave de aplicación. Por defecto, una sesión no se crea cuando una solicitud se realiza mediante una clave de aplicación. Esta es la manera recomendada para que otros sistemas y aplicaciones realicen una solicitud a la aplicación de ThingWorx. Sin embargo, si desea crear una sesión, se puede utilizar el siguiente parámetro de consulta, además de pasar el token de clave de aplicación:x-thingworx-session=true.
Al visualizar un mashup mediante un URL y utilizar una clave de aplicación, añada x-thingworx-session=true para crear una sesión. Sin una sesión, las solicitudes posteriores requieren autenticación mediante el autenticador básico de HTTP estándar. Después del parámetro de consulta x-thingworx-session=true, se debe incluir #mashup=[your mashup name].
* 
Al crear y asignar permisos a las claves de aplicación, siempre se debe utilizar el concepto de seguridad de los permisos mínimos. No es una práctica recomendada asignar un miembro del grupo de administradores a una clave de aplicación. Si se intenta crear una clave de aplicación en función de un usuario con permisos de administrador, se mostrará un aviso.
Propiedades de la clave de aplicación
Nombre de la propiedad
Descripción
Nombre
Palabra o frase que identifica esta clave. Campo obligatorio.
Avatar
Una imagen que se puede cargar para representar visualmente la clave de aplicación.
Descripción
La descripción de la clave de aplicación.
Proyecto
El trabajo o el grupo asociado a esta clave.
Etiquetas
Etiquetas de modelo que se pueden utilizar para agrupar o categorizar la clave de aplicación.
Lista blanca de las direcciones IP
La lista de direcciones IP permitidas para acceder a ThingWorx mediante la clave de aplicación. Separe las direcciones IP con una coma. Si se deja en blanco, cualquier dirección IP puede utilizar la clave de aplicación.
Nombre de cliente
Campo que el usuario puede definir y que puede representar cualquier cosa, como el cliente asociado con la clave de aplicación o una dirección IP. ThingWorx descarta cualquier valor asignado a este campo.
Referencia de nombre de usuario
El nombre del usuario asociado a la clave de aplicación. Campo obligatorio.
ID de clave
El valor de la clave generada por ThingWorx. El ID de clave no se puede editar.
* 
El ID de clave se almacena codificado en la base de datos. La clave simétrica que se utiliza para codificar el valor se almacena en /ThingWorxStorage/keystore.jks y la contraseña para el keystore se almacena en /ThingWorxPlatform/keystore-password. Si no existen estos ficheros, se generarán. Si no existe una clave simétrica, se creará una antes de que se inicie el sistema. Si se está realizando la instalación o el mantenimiento del servidor de ThingWorx, es necesario asegurarse de conservar estos ficheros. Si se pierden, las claves de aplicación no funcionarán, lo que significa que el valor no se podrá cifrar durante el inicio del sistema y las claves de aplicación existentes ya no se podrán guardar ni autenticar.
Fecha de vencimiento
La fecha de vencimiento de la clave de aplicación. Si no se especifica una fecha de vencimiento, se utiliza el valor por defecto del Subsistema de gestión de usuarios. Para ThingWorx 8.1 y versiones posteriores, las claves de aplicación vencen 24 horas después de su creación si no se especifica la fecha de vencimiento o si no se cambia el valor de Vigencia de clave de aplicación (segundos) en el subsistema de gestión de usuarios.
Fecha de la última modificación
La fecha y la hora en que la clave de aplicación se modificó por última vez.
Mashup de inicio
El mashup por defecto asociado a la clave de aplicación.
Documentación
Notas opcionales o información general en las que se describe cómo o por qué se utiliza en el entorno.
Creación de una clave de aplicación
Siga los pasos que se indican a continuación para crear una clave de aplicación. La clave creada supone la configuración de seguridad concedida al usuario asociado en el campo Referencia de nombre de usuario.
1. En ThingWorx Composer, pulse en Nuevo.
2. Desplácese hacia abajo y seleccione Claves de aplicación.
3. Escriba un nombre en el campo Nombre.
4. Si lo desea, seleccione o introduzca Descripción, Proyecto y Etiquetas para esta clave.
5. En el campo Referencia de nombre de usuario, seleccione el usuario asociado a la clave de aplicación.
6. Rellene los campos opcionales que desee, como Lista blanca de direcciones IP, Nombre de cliente, Mashup de inicio, Avatar, Fecha de vencimiento o Documentación.
* 
Si no se define un valor de Fecha de vencimiento, se calcula un valor a partir de la fecha de creación de la entidad de clave de aplicación más la configuración Vigencia de clave de aplicación (segundos) en el subsistema de gestión de usuarios.
7. Pulse en Guardar.
8. La clave de aplicación se muestra en el campo ID de clave.
Borrado de una clave de aplicación
Aunque se puede especificar una fecha de vencimiento para una clave de aplicación, esta no se borra automáticamente cuando vence. Se puede escribir una lógica de aplicación de ThingWorx que itere periódicamente y borre las claves de aplicación vencidas. Consulte Servicios de clave de aplicación. Para borrar manualmente una clave de aplicación:
1. En Composer, vaya a Todo.
2. Desplácese hasta la sección Seguridad.
3. Expanda la sección, si fuera necesario, y busque Claves de aplicación.
4. Seleccione una clave de aplicación pulsando en la casilla situada a la izquierda del nombre.
5. Pulse en el botón Borrar.
Creación de una clave de aplicación mediante un servicio
Para crear una clave de aplicación mediante un servicio, utilice el siguiente ejemplo:
var params = {
clientName: undefined /* STRING */,
name: undefined /* STRING */,
description: undefined /* STRING */,
project: undefined /* STRING */,
whitelist: undefined /* STRING */,
user: undefined /* USERNAME */,
tags: undefined /* TAGS */,
expirationDate: undefined /* DATETIME */
};
// no return
Resources["EntityServices"].CreateApplicationKey(params);
//Get the generated Key's actual appKey value
var KeyID = ApplicationKeys["YOURKEYNAME"].GetKeyID();
* 
Si no se define un valor de Fecha de vencimiento, se calcula un valor a partir de la fecha de creación de la entidad de clave de aplicación más la configuración Vigencia de clave de aplicación (segundos) en el subsistema de gestión de usuarios.
Práctica recomendada sobre la configuración de la clave de aplicación inicial y la primera conexión
Los dispositivos siempre se deben poner en línea en un contexto de desarrollo o simularse en un contexto de desarrollo siempre que sea posible. Una vez que un dispositivo esté listo para la producción, se deben crear nuevas claves de aplicación para cada dispositivo que vaya a estar en la red de periferia de la aplicación. Después de crear e implementar una clave de aplicación única en el dispositivo en cuestión, se debe supervisar dicho dispositivo cuando se inicialice para verificar que se ha conectado correctamente a la plataforma.
Vencimiento y rotación de claves de aplicación
Como práctica recomendada, las claves de aplicación deben tener una fecha de vencimiento que coincida con la vigencia esperada del dispositivo que va a consumir las credenciales de clave de aplicación. Además, no se recomienda utilizar la misma clave de aplicación para varios dispositivos, especialmente si sus ciclos de vida son diferentes. Una vez que haya vencido una clave de aplicación, se debe instalar una nueva clave de aplicación en el dispositivo.
Vencimiento de las claves de aplicación para aplicaciones críticas
Si no existe un sistema para entregar una nueva clave de aplicación al dispositivo, se puede actualizar la clave de vencimiento de la clave de aplicación para permitir extender la vigencia del servicio. Esto no es una práctica recomendada, pero se puede utilizar como solución alternativa cuando existe el riesgo de que se pierdan datos críticos del negocio. Es importante tener en cuenta que extender el ciclo de vida de la clave de aplicación más allá del ciclo de vida esperado del dispositivo puede introducir amenazas de seguridad en la infraestructura de la aplicación crítica.
Vínculos relacionados