Funktionsweise der Permissions

Ich möchte einen API Key mit möglichst eingeschränkten Permissions anlegen und versuche das Prinzip der Permissions besser zu verstehen:

  1. Ich lege im Admin UI eine Rolle mit einer einzigen Permission „Orders - View“ an.
  2. Ich schaue mir den Payload vom „Save“ in der Browser Netzwerk Statistik an.

Im Payload sind sehr viel mehr Einträge als das erwartete „Order - View“ zu sehen:

„country:read“,

„order.viewer“,
„order:delete“,
„order:read“,
„order_address:read“,
„order_customer:read“,

„user_config:create“

„version:delete“

Fragen:

  1. Privileges und Roles
    Die AI erklärt mir, dass es (a) technische Privileges gibt „:“ die für API Zugriffe benötigt werden (order:read) und (b) funktionale Roles „.“ die für das Admin UI relevant sind (order.viewer).
    Ist das korrekt so wiedergegeben?
    Für ein API Token benötige ich dann nur die funktionalen Roles?
  2. Schreibberechtigungen
    Warum gibt es Berechtigungen über Order hinaus (z.B: user_config)? Und warum gibt es scheinbar sogar schreibende Berechtigungen obwohl ich im UI ja nur Leseberechtigungen gegeben habe?

Hi @pubbles1

die „Untereintraege“ sind in den entsprechenden Modulen der Admin UI gemappt - fuer Order View z.B. hier:

Das soll letztendlich sicherstellen, dass ein Admin UI benutzer alle notwendigen Rechte hat, um den Menuepunkt verwenden zu koennen. Ob und wofuer da z.B. die user:* Berechtigungen gedacht sind, kann ich spontan nicht sagen - sicher in Richtung „Letzter Bearbeiter“ einer Bestellung).

Wenn du es fuer die API willst, wuerde ich dir empfehlen, direkt in die granularen Rechte zu gehen. Das hier ist wie gesagt fuer Admin UI Benutzer konzipiert.

Viele Gruesse
Marcus