Saltar al contenido principal

Permission Templates

Permission Templates​

Las Permission Templates sirven para definir en optiCLOUD perfiles de permisos reutilizables. En lugar de configurar los derechos de cada usuario por separado, se pueden crear plantillas preparadas y asignarlas cuando sea necesario.

Esto reduce el trabajo de administración y garantiza una asignación de derechos coherente entre varios usuarios y proyectos.

Permission Templates en optiCLOUD

Uso y gestión​

En la vista de tabla se muestran las plantillas existentes con sus metadatos más importantes, por ejemplo:

  • Nombre
  • Visibilidad o tipo de acceso
  • Fecha de creación
  • Fecha de modificación
  • Descripción

Mediante la barra de acciones se pueden crear nuevas plantillas, importar plantillas existentes o exportar las plantillas disponibles.

Aplicar plantillas​

En la gestión de derechos de usuario, una plantilla puede asignarse a un usuario para un proyecto determinado. De este modo, el usuario recibe los permisos definidos en la plantilla sin tener que establecer manualmente cada permiso individual.

Esto es especialmente útil para perfiles de rol recurrentes, por ejemplo, usuarios de solo lectura (viewers), personal de servicio o administradores con un ámbito de tareas claramente definido.

aviso

Cuando se modifica una plantilla, los derechos de usuario ya asignados no se actualizan automáticamente. Por tanto, un cambio en la plantilla no actualiza con efecto retroactivo a todos los usuarios a los que se asignó anteriormente esa plantilla.

Tras una modificación de la plantilla, el permiso modificado debe volver a asignarse de forma selectiva. Para evitar confusiones, los derechos de usuario existentes se tratan como Custom después de una desviación manual o de una modificación posterior.

Estructura de permisos​

Cada permiso puede establecerse individualmente, teniendo en cuenta que existen dependencias entre determinados permisos.

  • ALL: deben estar presentes todos los permisos indicados.
  • AT_LEAST_ONE: debe estar presente al menos uno de los permisos indicados.

Así, por ejemplo, un usuario no puede recibir el permiso «View Telemetry» si no recibe también el permiso «View Devices», ya que los datos de telemetría siempre están vinculados a un dispositivo y solo pueden consultarse a través de este.

Ejemplo: DefaultViewer​

Un ejemplo práctico de plantilla es defaultviewer. El archivo puede importarse directamente en OptiCloud y muestra un perfil de permisos de lectura típico.

Mostrar el JSON de defaultviewer.json
{
"description": "Default Permissions for View/Download/Export",
"name": "DefaultViewer",
"visible": false,
"permissions": [
{
"pluginType": "UI_PAGES",
"operation": "DASHBOARDS_PAGE"
},
{
"pluginType": "UI_PAGES",
"operation": "DEVICES_PAGE"
},
{
"pluginType": "DATA_FILE",
"operation": "DOWNLOAD_CLIENT_DATA_FILE"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "DOWNLOAD_DEVICE_FILE"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "DOWNLOAD_LOG_FILE"
},
{
"pluginType": "DATA_FILE",
"operation": "DOWNLOAD_SERVER_DATA_FILE"
},
{
"pluginType": "DATA_FILE",
"operation": "DOWNLOAD_SHARED_DATA_FILE"
},
{
"pluginType": "DASHBOARD",
"operation": "EDIT_DASHBOARD_AGGREGATION_FUNCTION"
},
{
"pluginType": "DASHBOARD",
"operation": "EDIT_DASHBOARD_TIMEWINDOW"
},
{
"pluginType": "TELEMETRY",
"operation": "EXPORT_TELEMETRY"
},
{
"pluginType": "UI_PAGES",
"operation": "HOME_PAGE"
},
{
"pluginType": "UI_PAGES",
"operation": "NOTES_PAGE"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "NOTIFICATION_DEVICE_MESSAGE_ERROR"
},
{
"pluginType": "DASHBOARD",
"operation": "OPEN_DASHBOARD"
},
{
"pluginType": "UI_PAGES",
"operation": "USERS_PAGE"
},
{
"pluginType": "ALARM",
"operation": "VIEW_ALARM"
},
{
"pluginType": "ALARM",
"operation": "VIEW_ALARM_DETAILS"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "VIEW_APPLICATION_UPDATE_FILE"
},
{
"pluginType": "ATTRIBUTE",
"operation": "VIEW_CLIENT_ATTRIBUTE"
},
{
"pluginType": "DATA_FILE",
"operation": "VIEW_CLIENT_DATA_FILE"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "VIEW_COMMAND_FROM_DEVICE"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "VIEW_COMMAND_TO_DEVICE"
},
{
"pluginType": "DASHBOARD",
"operation": "VIEW_DASHBOARD"
},
{
"pluginType": "DEVICE",
"operation": "VIEW_DEVICE"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "VIEW_DEVICE_FILE"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "VIEW_DYNAMIC_CONFIG_UPDATE_FILE"
},
{
"pluginType": "EVENT",
"operation": "VIEW_EVENT"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "VIEW_FIRMWARE_UPDATE_FILE"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "VIEW_LOG_FILE"
},
{
"pluginType": "NOTE",
"operation": "VIEW_NOTES"
},
{
"pluginType": "NOTIFICATION",
"operation": "VIEW_NOTIFICATION"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "VIEW_OPTIMEAS_DEVICE"
},
{
"pluginType": "ATTRIBUTE",
"operation": "VIEW_SERVER_ATTRIBUTE"
},
{
"pluginType": "DATA_FILE",
"operation": "VIEW_SERVER_DATA_FILE"
},
{
"pluginType": "ATTRIBUTE",
"operation": "VIEW_SHARED_ATTRIBUTE"
},
{
"pluginType": "DATA_FILE",
"operation": "VIEW_SHARED_DATA_FILE"
},
{
"pluginType": "OPTIMEAS_DEVICE",
"operation": "VIEW_STATIC_CONFIG_UPDATE_FILE"
},
{
"pluginType": "TELEMETRY",
"operation": "VIEW_TELEMETRY"
},
{
"pluginType": "USER_MANAGEMENT",
"operation": "VIEW_USER"
},
{
"pluginType": "WIDGETS_LIBRARY",
"operation": "VIEW_WIDGETS_BUNDLE"
},
{
"pluginType": "WIDGETS_LIBRARY",
"operation": "VIEW_WIDGET_TYPE"
}
]
}

Recomendación para la práctica​

Las plantillas deben crearse para roles claramente delimitados y nombrarse de forma inequívoca. Las buenas plantillas se orientan a tareas reales de la operación y no a casos técnicos aislados.

En cuanto cambie un rol, debe comprobarse si es necesario adaptar una plantilla existente y volver a asignarla después, o si una plantilla nueva es la solución más limpia.