Logo

Funktion:

Zugriffskontrolle

Zugriffskontrolle

Der GraphQL-Endpunkt, der beliebige Daten zurückgeben kann, die über das Schema zugänglich sind, könnte es böswilligen Akteuren ermöglichen, private Informationen abzurufen. Daher müssen wir Sicherheitsmaßnahmen implementieren, um die Daten zu schützen.

Zugriffskontrolle

Mit Zugriffskontrolllisten können wir festlegen, wer auf jede Operation, jedes Feld und jede Direktive im Schema zugreifen darf:

  • Zugriff für alle deaktivieren
  • Zugriff gewähren, wenn der Benutzer eingeloggt oder ausgeloggt ist
  • Zugriff gewähren, wenn der Benutzer eine bestimmte Rolle hat
  • Zugriff gewähren, wenn der Benutzer eine bestimmte Berechtigung hat
  • Zugriff gewähren, wenn der Besucher von einer bestimmten IP-Adresse oder einem IP-Bereich kommt
Editor der Zugriffskontrollliste
Editor der Zugriffskontrollliste

Öffentliches/privates Schema

Was soll passieren, wenn ein Benutzer ohne Zugriff auf ein Feld oder eine Direktive im Schema versucht, darauf zuzugreifen?

Mit dem öffentlichen/privaten API-Modus können wir das gewünschte Verhalten steuern:

In der öffentlichen API sind die Felder des Schemas sichtbar, und wenn die Berechtigung nicht erfüllt ist, erhält der Benutzer eine Fehlermeldung mit einer Beschreibung, warum die Berechtigung verweigert wurde.

In der privaten API ist das Schema für jeden Benutzer individuell angepasst und enthält nur die Felder, auf die die jeweilige Person Zugriff hat. Wenn versucht wird, auf ein verbotenes Feld zuzugreifen, gibt die Fehlermeldung an, dass das Feld nicht existiert.

Individueller öffentlicher/privater Schema-Modus

Abonniere unseren Newsletter

Bleib über alle Updates zu Gato GraphQL auf dem Laufenden.