Permission Templates
Permission Templates
Les Permission Templates servent à définir des profils d'autorisation réutilisables dans optiCLOUD. Au lieu de composer les droits individuellement pour chaque utilisateur, il est possible de créer des templates préparés et de les attribuer au besoin.
Cela réduit la charge d'administration et garantit une attribution cohérente des droits pour plusieurs utilisateurs et projets.

Utilisation et gestion
La vue tableau affiche les templates existants avec leurs principales métadonnées, par exemple :
- nom
- visibilité ou type d'accès
- date et heure de création
- date et heure de modification
- description
La barre d'actions permet de créer de nouveaux templates, d'importer des templates existants ou d'exporter les modèles disponibles.
Appliquer des templates
Dans la gestion des droits des utilisateurs, un template peut être attribué à un utilisateur pour un projet donné. L'utilisateur obtient ainsi les autorisations définies dans le template, sans qu'il soit nécessaire de définir manuellement chaque autorisation individuelle.
C'est particulièrement utile pour des profils de rôle récurrents, par exemple de simples viewers, du personnel de service ou des administrateurs dont le périmètre de tâches est clairement défini.
Lorsqu'un template est modifié, les droits d'utilisateurs déjà attribués ne sont pas mis à jour automatiquement. Une modification du template ne met donc pas à jour rétroactivement tous les utilisateurs auxquels ce template a été attribué auparavant.
L'autorisation modifiée doit être réattribuée de façon ciblée après une adaptation du template. Pour éviter toute confusion, les droits d'utilisateurs existants sont traités comme Custom après un écart manuel ou une modification ultérieure.
Structure des autorisations
Chaque autorisation peut être définie individuellement, en tenant compte du fait qu'il existe des dépendances entre certaines autorisations.
ALL: toutes les autorisations listées doivent être présentes.AT_LEAST_ONE: au moins l'une des autorisations listées doit être présente.
Ainsi, un utilisateur ne peut par exemple pas obtenir l'autorisation « View Telemetry » s'il n'obtient pas aussi l'autorisation « View Devices », car les données de télémétrie sont toujours liées à un appareil et ne peuvent être consultées que par ce biais.
Exemple : DefaultViewer
Un exemple pratique de template est defaultviewer. Le fichier peut être importé directement dans OptiCloud et montre un profil d'autorisation en lecture typique.
Afficher le 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"
}
]
}
Recommandation pour la pratique
Les templates doivent être créés pour des rôles clairement délimités et nommés sans ambiguïté. Les bons modèles s'appuient sur des tâches réelles d'exploitation et non sur des cas techniques isolés.
Dès qu'un rôle change, il convient de vérifier si un template existant doit être adapté puis réattribué, ou si un nouveau template constitue la solution la plus propre.