Роли и права
Матрицата
Потребителят има една роля в Matrix във всеки тенант, към който принадлежи: своята роля в продукта Entrosity Matrix за тази организация в Entrosity Hub. Сървърът прилага тези права при всяко извикване на API и, при промените, отново точно преди конекторът да запише; приложението само скрива това, което не можете да използвате.
| Право | Наблюдател | Учител | Администратор на тенанта | Глобален администратор |
|---|---|---|---|---|
| Преглед на залите, състоянието им и графиците | ✓ | Само предоставените зали | ✓ | ✓ |
| Преглед на адресите и групите | ✓ | Само предоставените зали | ✓ | ✓ |
| Преглед на разрешените сайтове | ✓ | Списъкът за всички зали и предоставените зали | ✓ | ✓ |
| Четене на историята | ✓ | Само предоставените зали | ✓ | ✓ |
| Преглед на потребителите на тенанта | ✓ | ✓ | ✓ | ✓ |
| Включване и изключване на зали, изключване до определен час, групови промени, отмяна на автоматичното включване | Само предоставените зали | ✓ всички зали | ✓ | |
| Промяна на IP адресите на компютри, добавяне на компютри, повтаряне на операции с адреси | ✓ | ✓ | ||
| Промяна на собствените разрешени сайтове на зала | Само предоставените зали | ✓ всички зали | ✓ | |
| Промяна на разрешените сайтове за всички зали; преглед на командите за настройка на FortiGate | ✓ | ✓ | ||
| Добавяне, промяна и изтриване на защитни стени (включително Разреши редакция на разрешените сайтове); запазване на ключовете им; проверката и обновяването им | ✓ | ✓ | ||
| Даване на права по зали на учителите | ✓ | ✓ | ||
| Инсталиране и премахване на конектори; управление на токените за регистриране | ✓ | ✓ | ||
| Управление на обекти; промяна на настройките на тенанта; Управление на членовете в Hub | ✓ | ✓ | ||
| Четене на одитния журнал | ✓ | ✓ | ||
| Всички тенанти: общ преглед, тенанти, потребители, версии на конектора и общият одитен журнал | ✓ |
Накратко: наблюдателите гледат всички зали, учителите виждат, включват и изключват само предоставените им зали и променят разрешените сайтове на тези зали, администраторите на тенанта (ИТ) настройват всичко и включват и изключват всички зали. Учител без предоставени зали не вижда зали (Все още нямате възложени зали). Отказаните опити, включително ръчно съставено извикване на API, се записват в историята.
Сървърът никога не изпраща на учителя нищо за зали, които не са му
предоставени: залите, адресните групи, списъците с разрешени сайтове,
графиците за автоматично включване, записите в историята и известията на
живо за другите зали се пропускат, както и защитните стени без нито една
от неговите зали. Заявка за такава зала (ръчно съставено извикване на
API) получава 404 unknown_room, както за несъществуваща зала, и се
записва като отказана. Записите в историята без зала (настройки на
защитната стена, права по зали, списъкът за всички зали) не се показват
на учителите.
Вътрешно това са правата rooms:read, rooms:operate,
addresses:read, addresses:manage, allowed_sites:manage,
history:read, users:read,
firewalls:manage, grants:manage, hardware:manage, sites:manage,
settings:manage, audit:read и tenants:manage
(entrosity-matrix.backend/internal/rbac). Идентификаторите на ролите в
Hub са tenant_admin, teacher и viewer. allowed_sites:manage
(администратори на тенанта) покрива всички списъци с разрешени сайтове и
командите за настройка; учителят променя собствения списък на зала с
rooms:operate и право за залата, никога списъка за всички
зали.
Точно преди всеки запис конекторът пита Matrix дали промяната все още е разрешена: авторът трябва все още да е активен потребител на тенанта, да не е изведен от системата в Hub и все още да е администратор на тенанта или учител с право за залата (при промени на адреси и на списъка за всички зали: администратор на тенанта). Право, отнето след изпращането на промяната, я спира.
Потребителите на един тенант достигат само до своя тенант. Заявка за данни на друг тенант връща 404, все едно не съществуват. Изолацията се прилага и в PostgreSQL чрез защита на ниво ред (row-level security).
Управление на потребителите
Потребителите, поканите и ролите се управляват в Entrosity Hub, а не в Matrix:
- Администратор на организацията дава на членовете роля в Matrix (или No access) на страницата с членовете на организацията в Hub (Членове на организацията). Кои зали включва и изключва даден учител, се задава в Matrix (Права по зали).
- Администратор на платформата включва Entrosity Matrix за организация в Products (Администриране на платформата). Организацията става тенант на Matrix със същия ID.
- Глобалните администратори са администраторите на платформата в Hub. Докато Matrix е в бета версия, те са единствените потребители, които могат да го отварят (Продукти в бета версия).
- Matrix копира потребителите, организациите и ролите от Hub приблизително на всеки 30 секунди: промените достигат до Matrix до около минута, включително извеждането на деактивирани потребители.