API-Schlüssel

Ein API-Schlüssel gehört zu genau einem Projekt und kann das, was seine Scopes nennen. Sie können ihn weiter auf benannte Modelle und Operationen einschränken oder auf eine Organisation begrenzen.

Öffentliche und geheime Schlüssel

Es gibt zwei Typen, am Präfix zu unterscheiden. Ein öffentlicher Schlüssel (pk_) ist sicher im Browser auslieferbar. Allein ist er nur lesend und gibt veröffentlichte Inhalte zurück. Ein angemeldeter Nutzer ergänzt ihn um die Scopes der eigenen Rolle. Ein geheimer Schlüssel (sk_) ist für einen Server, und die API weist ihn bei jeder Anfrage ab, die einen Origin-Header eines Browsers trägt. Beide Arten werden innerhalb eines Projekts erstellt und gelten nur für dieses Projekt.

Scopes

Scopes legen die Art des Zugriffs fest, den ein Schlüssel hat, etwa records:read oder das Ausführen von Operationen. Die Prüfung ist eine Allowlist, sodass ein Aufruf, dessen Scope dem Schlüssel fehlt, abgelehnt wird. Ein Scope erlaubt einen Aufruf und erweitert nie, welche Zeilen eine Abfrage zurückgibt. Manche Scopes kann ein öffentlicher Schlüssel gar nicht besitzen, und sie anzufordern wird beim Erstellen des Schlüssels abgelehnt.

Auf Modelle und Operationen einschränken

Zwei Selektoren an einem Schlüssel legen fest, welche Ressourcen er erreicht: Modellzugriff und Operationszugriff. Beide stehen standardmäßig auf alle, also alles, was die Scopes des Schlüssels abdecken, daher ist das Einschränken optional. Wählen Sie bestimmte Modelle, verschwinden die typisierten Felder aller anderen Modelle aus dem Schema, das dieser Schlüssel sieht, und Aufrufe dorthin werden verweigert. Wählen Sie bestimmte Operationen aus, fehlt die Mutation einer nicht aufgeführten Operation im Schema des Schlüssels, einschließlich der Introspektion.

Begrenzung auf eine Organisation

Ein Schlüssel kann beim Erstellen auf eine Organisation begrenzt werden. Er liest diese Organisation, alles darunter und die projektweit geteilten Zeilen und schreibt nur in seine eigene. Er muss mindestens einen Scope nennen, kann keine Schlüssel erzeugen und wird mit seiner Organisation gelöscht.

Rotation und spätere Änderungen

Beim Rotieren eines Schlüssels funktioniert das alte Secret noch 24 Stunden. Das Widerrufen beendet sofort jedes Secret. Scopes, erlaubte Modelle und der Name lassen sich an einem bestehenden Schlüssel bearbeiten und gelten mit dem Speichern. Schlüsseltyp, Begrenzung und Ablauf stehen ab der Erstellung fest.

Details nachlesen

Die API-Schlüssel-Anleitung behandelt beide Schlüsseltypen, ihre Scopes, das Einschränken der Reichweite eines Schlüssels und die Rotation.