Grafana: Abgelaufene Grafana-Schlüssel sind noch im Äther (oder möglicherweise in der Datenbank) vorhanden.

Erstellt am 23. Sept. 2019  ·  3Kommentare  ·  Quelle: grafana/grafana

Ich bin verwirrt über den Prozess, den Grafana für abgelaufene Token verwendet. In der Grafana-API- Dokumentation können Sie im Feld secondToLive in der Restanforderung zur API-Schlüsselerstellung einen Ablauf für neue Schlüssel festlegen.

curl 
  -X POST 
  -H "Content-Type: application/json" 
  -d '{
    "name":"testKey",
    "role":"Admin",
    "secondsToLive":60
  }' 
  http://removed:forsecurity<strong i="7">@localhost</strong>:3000/api/auth/keys

Dieses Beispiel zeigt, wie ich implementiere. Nach einer Minute würde ich erwarten, dass der Schlüssel abgelaufen ist, der Schlüssel von der Benutzeroberfläche entfernt wird und der Schlüssel dann erneut erstellt werden kann.

Was ich tatsächlich sehe, ist, dass der Schlüssel abgelaufen ist, der Schlüssel von der Benutzeroberfläche entfernt wurde und ein weiterer Schlüssel mit dem Namen "testKey" nicht mehr erstellt werden kann.

Ist dies ein normales Verhalten bei der Erstellung von API-Schlüsseln? Ich würde denken, dass dies für öffentlich zugängliche API brechen würde. Ist es vielleicht etwas Spezielles für die Grafana-Implementierung von API-Schlüsseln?

Hier ist ein Beispiel für die Antwort vom Server, wenn eine Anforderung für einen Schlüssel gestellt wird, der abgelaufen ist und sich nicht mehr in der Benutzeroberfläche befindet.

{"message":"Failed to add API key"}

Wenn ich den Schlüssel (entweder über die API oder die Benutzeroberfläche) vor seinem Ablauf lösche, kann ich den Schlüssel ohne Probleme erneut erstellen.

Wenn ich versuche, die aktuell im System vorhandenen Schlüssel anzuzeigen, erhalte ich eine leere Liste.

curl -X GET -H "Content-Type: application/json" http://removed:forsecurity<strong i="18">@localhost</strong>:3000/api/auth/keys
[]

Wenn ich den Schlüssel nach Ablauf über die API lösche (dies kann nicht über die Benutzeroberfläche erfolgen, da er dort nicht mehr angezeigt wird), kann ich den Schlüssel erneut erstellen.

Wenn die Schlüssel in einem abgelaufenen Zustand noch in der Datenbank vorhanden sind, möchte ich die Option, sie in der Benutzeroberfläche anzuzeigen. Ich möchte auch, dass sie im API-Aufruf gemeldet werden, um Schlüssel mit einem Feld für den Ablaufstatus aufzulisten.

Bitte lassen Sie mich wissen, wenn Sie zusätzliche Informationen von mir benötigen. Hoffentlich ist dies kein doppeltes Problem.

arebackenapi arebackenauth typbug

Hilfreichster Kommentar

Die abgelaufenen Schlüssel sollten bei der Erstellung des API-Schlüssels nicht berücksichtigt werden

Ich denke, sie sollten / müssen. Der Name ist Teil eines eindeutigen Index.

Zwei Lösungen
1) Abgelaufene Schlüssel automatisch bereinigen (aus der Datenbank entfernen)
2) Zeigen Sie abgelaufene Schlüssel in der Liste an und lassen Sie sie vom Organisationsadministrator manuell entfernen.

Alle 3 Kommentare

@ 5w3rv05 Das klingt für mich nach einem Fehler, muss aber bei denjenigen, die es implementieren, überprüft werden, ob die Implementierung aus einem bestimmten Grund ausgewählt wurde.

Ich habe es überprüft, es ist ein Fehler: Die abgelaufenen Schlüssel sollten bei der Erstellung des API-Schlüssels nicht berücksichtigt werden.
Außerdem sollte der API-Aufruf zum Auflisten der API-Schlüssel optional auch die abgelaufenen zurückgeben.

Die abgelaufenen Schlüssel sollten bei der Erstellung des API-Schlüssels nicht berücksichtigt werden

Ich denke, sie sollten / müssen. Der Name ist Teil eines eindeutigen Index.

Zwei Lösungen
1) Abgelaufene Schlüssel automatisch bereinigen (aus der Datenbank entfernen)
2) Zeigen Sie abgelaufene Schlüssel in der Liste an und lassen Sie sie vom Organisationsadministrator manuell entfernen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

victorhooi picture victorhooi  ·  3Kommentare

Minims picture Minims  ·  3Kommentare

yuvaraj951 picture yuvaraj951  ·  3Kommentare

ericuldall picture ericuldall  ·  3Kommentare

ahmetkakici picture ahmetkakici  ·  3Kommentare