Rollen und Berechtigungen
Eine Rolle ist eine feste Zuordnung von Modulen zu Lesen, Anlegen, Ändern und Löschen. Es gibt fünf Rollen, und SXAccess prüft die Matrix unten bei jeder Anfrage.
Eine Rolle steuert, was eine Person in der Organisation tun darf: Zugriffsregeln anlegen, Mitglieder einladen, die Aktivität einsehen. Sie steuert nicht, was deren Geräte erreichen dürfen; das entscheiden allein Gruppen und Zugriffsregeln. Die Rolle Owner allein erlaubt einem Gerät noch keinen Zugriff auf irgendetwas.
Berechtigungen werden je Modul und Operation ausgewertet, und die Rolle wird bei jeder Anfrage aus dem Eintrag des Mitglieds gelesen; eine Änderung gilt also sofort. Die Module sind organization, users (Mitglieder und Dienstkonten), devices, groups, access_rules (Zugriffsregeln und Geräteanforderungen) und network_routes (Routen und Internet-Gateways). Dazu kommen networks (interne Netzwerke mit ihren Ressourcen und Routing-Geräten), dns (DNS-Einstellungen), dns_servers, enrollment_keys, api_tokens (Zugriffstoken), activity und settings (Organisationseinstellungen). Die Operationen sind Lesen, Anlegen, Ändern und Löschen.
Die Rollen
Die Rolle legen Sie beim Einladen fest (Role unter Invite member). Um sie später zu ändern, öffnen Sie People → Members, wählen das Mitglied aus, stellen im Reiter Access die Member role ein und wählen Save Changes. Bei einem Dienstkonto geht das genauso über People → Service accounts.
| Rolle | Definition |
|---|---|
Owner (owner) | Lesen, Anlegen, Ändern und Löschen für jedes Modul, auch für später hinzugefügte |
Admin (admin) | Dasselbe, mit einer Ausnahme: Das Modul organization ist nur lesbar |
Network Admin (network_admin) | Standardmäßig nichts; nur die in der Matrix unten aufgeführten Module sind freigegeben |
Auditor (auditor) | Lesen für jedes Modul, auch für später hinzugefügte. Nirgends Schreibrechte |
User (user) | Die gewöhnliche Mitgliedsrolle, ohne jede Modulberechtigung. Solange Hide other people's devices from regular members eingeschaltet ist (Standard, unter Settings → Security), sieht ein User keine Geräteliste. Ist die Einstellung ausgeschaltet, sieht er die Geräte, die er selbst registriert hat, und dazu jedes Gerät, das eine Zugriffsregel mit einem seiner Geräte verbindet |
Was jede Rolle je Modul darf
L Lesen · AÄL Anlegen, Ändern und Löschen · - nichts. Die Aktivität lässt sich nur lesen: Keine Rolle kann sie ändern oder löschen.
| Modul | Owner | Admin | Network Admin | Auditor | User |
|---|---|---|---|---|---|
organization | L + AÄL | L | L | L | - |
users | L + AÄL | L + AÄL | L | L | - |
devices | L + AÄL | L + AÄL | L | L | - |
groups | L + AÄL | L + AÄL | L + AÄL | L | - |
access_rules | L + AÄL | L + AÄL | L + AÄL | L | - |
network_routes | L + AÄL | L + AÄL | L + AÄL | L | - |
networks | L + AÄL | L + AÄL | L + AÄL | L | - |
dns | L + AÄL | L + AÄL | L + AÄL | L | - |
dns_servers | L + AÄL | L + AÄL | L + AÄL | L | - |
enrollment_keys | L + AÄL | L + AÄL | L | L | - |
api_tokens | L + AÄL | L + AÄL | L + AÄL | L | - |
activity | L | L | L | L | - |
settings | L + AÄL | L + AÄL | L | L | - |
Später hinzugefügte Module
Jede Rolle legt außerdem fest, was mit einem ihr unbekannten Modul geschieht. Owner und Admin erlauben dafür alle vier Operationen, Auditor erlaubt Lesen, Network Admin und User erlauben nichts. Deshalb muss Network Admin jedes benötigte Modul ausdrücklich aufführen, und deshalb sieht ein Auditor auch Neues, ohne dass jemand die Rolle bearbeiten muss.
Gesperrte Mitglieder
Ein gesperrtes Mitglied scheitert an jeder Berechtigungsprüfung, bevor seine Rolle überhaupt betrachtet wird, und die Prüfung bestätigt außerdem, dass das Mitglied zu der Organisation gehört, auf die sich die Aktion bezieht. Eine Person kann in jeder Organisation, der sie angehört, eine andere Rolle haben. Maßgeblich ist die Rolle ihrer Mitgliedschaft in eben dieser Organisation, und sie wird bei jeder Anfrage neu gelesen.
Regeln außerhalb der Matrix
Einige Regeln gelten unabhängig von der Matrix:
- Zugriffstoken lassen sich nur für das eigene Konto anlegen, wofür die Berechtigung zum Anlegen für
api_tokensnötig ist (Owner, Admin und Network Admin), oder von einem Eigentümer oder Administrator für ein Dienstkonto. Niemand kann die Token einer anderen Person auflisten, anlegen oder löschen. Ein Token gilt 1 bis 365 Tage. - Owner. Nur der Eigentümer kann die Rolle Owner vergeben und überträgt damit die Eigentümerschaft: Der bisherige Eigentümer wird Admin. Der Eigentümer kann weder gesperrt noch entfernt werden, und ein Dienstkonto kann nicht Owner sein.
- Die eigene Mitgliedschaft. Eigentümer und Administratoren können ihre eigene Rolle nicht ändern und sich nicht selbst sperren, und niemand kann sich selbst aus der Organisation entfernen.
- Geräteanforderungen werden über
access_rulesgesteuert: Wer Zugriffsregeln schreiben darf, darf auch Anforderungen schreiben. - Erreichbare Geräte.
/api/devices/{deviceId}/reachable-devicesantwortet vollständig nur Eigentümern, Administratoren und Dienstkonten. Alle anderen erhalten für ein Gerät, das nicht ihr eigenes ist, eine leere Liste.

