Berechtigungen für App-Benutzer
Diese Seite richtet sich an App-Entwickler und die Administratoren, mit denen sie zusammenarbeiten. Jeder API-Aufruf läuft als ein Benutzer, und die Rollen dieses Benutzers entscheiden über alles, was die App sehen und tun kann. Die Rollen richtig einzustellen ist die wirksamste Sicherheitsmaßnahme, die eine App hat. Der allgemeine Leitfaden ist Rollen und Richtlinien.
Inhalt
- Richtlinien, die die APIs prüfen
- Rollen für typische Apps
- Rechte aus der App prüfen
- App-Aktivität nachvollziehen
Richtlinien, die die APIs prüfen
| Aktion | Richtlinie |
|---|---|
| REST-Lesezugriff auf einen Knoten, ein Objekt, eine Liste, eine Anzahl | content/read |
| Anlegen über REST | content/create (Einschränkungen Class, ParentClass, Section, Node, Subtree, Language) |
| Aktualisieren über REST (eine neue Version) | content/edit in der geschriebenen Sprache |
| Entfernen über REST | content/remove für jede Platzierung und alles darunter |
| Eine OAuth-App auf der Autorisierungsseite zulassen | oauth/authorize (optional auf einen Siteaccess beschränkt) |
| Persönliche API-Schlüssel erstellen | apikey/create (optional durch Scope beschränkt) |
| Ein Remote-Dienst | die Richtlinie aus seiner access-Deklaration oder public / user |
Quellen: Berechtigungen der REST-Schnittstelle,
Die Richtlinie oauth/authorize, die Dienstdeklarationen von expservices.
Rollen für typische Apps
| App | Rolle | Richtlinien |
|---|---|---|
| Öffentliche Lese-App | „App reader“ | content/read, beschränkt auf die Bereiche oder Teilbäume, die die App anzeigt |
| Mitglieder-App | die Rolle der Mitglieder plus oauth/authorize | was Mitglieder auf der Website lesen dürfen |
| Berichte aus dem Außendienst | „App reporter“ | content/read für den Berichtsordner; content/create mit Subtree = dieser Ordner und Class = die Berichtsklasse |
| Begleit-App für Redakteure | die Rollen der Redakteure | wie in der Administrationsoberfläche, plus oauth/authorize |
Faustregeln:
- Ein Integrationsbenutzer pro App, nie das Konto einer Person und nie der Administrator.
- Keine Richtlinien für
setup,classoderuserfür den Benutzer einer App. - Schreibzugriffe nur unterhalb eines Ordners, der für die App angelegt wurde, damit ein Fehler den Rest der Website nicht berühren kann.
- Überprüfen Sie die Rolle jedes Mal, wenn die App eine neue Funktion erhält.
Rechte aus der App prüfen
| Bedarf | Dienst |
|---|---|
| Hat der Benutzer ein Modul bzw. eine Funktion? | expsession::access (antwortet mit yes, no oder limited) |
| Was darf der Benutzer mit diesem Knoten tun? | expnode::rights::<node id> |
| Welche Klassen darf der Benutzer hier anlegen? | expnode::creatableClasses::<node id> |
| Wer ist angemeldet? | expsession::whoami |
Verwenden Sie sie, um Schaltflächen auszublenden, die der Benutzer nicht nutzen kann; der Server prüft trotzdem bei jedem Aufruf erneut.
App-Aktivität nachvollziehen
Das Prüfprotokoll zeichnet auf, was Zugangsdaten und Schreibzugriffe tun, im Kanal access und als Dienstereignisse:
| Ereignisse | Wann |
|---|---|
access.apikey.create, .revoke, .use (erste Verwendung), .use.failed | persönliche API-Schlüssel (Prüfung und Grenzen) |
access.expservices.token.create, .revoke, .failed | Tokens von expservices |
service.<domain>.<method> | jeder erfolgreiche Schreibzugriff über expservices |
Ein Administrator liest sie unter Setup > Audit oder in einer Shell:
./console exp:audit tail --channel=access --name='access.apikey.*' --lines=20 --allow-root-userBitten Sie nach jedem App-Release um einen Blick auf die Ablehnungen (*.failed): Ein sprunghafter Anstieg bedeutet
einen Fehler in der App oder jemanden, der gestohlene Zugangsdaten ausprobiert. Das Audit selbst ist in
Audit beschrieben.
Verwandte Seiten
- Zugangsdaten auswählen
- Zugriffskontrolle im Code
- Sicherheit und Audit
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.