TS: MySQL Trusted Login

Beitrag lesen

Hello,

ich hoffe, die Datenbank- und API-Strategen können mir weiterhelfen.

Ich möchte ein trusted Login für die PHP-MySQL-Connection bauen (oder eine fertige Lösung finden).

Üblicherweise benutzen PHP-Lösungen für die Connection zur MySQL-Datenbank immer eine ihnen bekannte Benutzer-Passwort-Kombination. Das bedeutet also, dass der API ein (oder mehrere) User mit dem dazugehörigen Passwort bekannt sind.

Mehrere DB-API-User benötigt man, um unterschiedliche Rechte abbilden zu können.
Beispiele:

  • normaler Seitenbesucher ohne Account (API-Basisaccount)
  • Seitenbesucher mit Account -- darf nur seine Dokumente bearbeiten -- darf auch Dokumente Anderer bearbeiten -- ...
  • Moderator, Redakteur, Content-Bearbeiter
  • Gruppenleiter
  • Admin
  • Superadmin

Die Rollen bilden sich in vertikalen Rechten in den Tabellen ab.

Ich möchte die Abbildung dieser Geschäftsregeln nun mittels Stored Routines und Triggers vollständig in die Datenbank verlegen. Das bedeutet, dass die API keine n Zugriff mehr auf die rollenspezifischen Credentials haben darf. Die API-Funktion für ein Login darf nur noch Zugang zu den Basis-Selects geben.

Um eine höherwertige Rolle zu erwerben, benötigt man ein granted Select für den API-User, der die Rechte des jeweiligen externen Users erfragt und in der DB-Schnittstelle zwischenspeichert. Die API bekommt nur noch einen Trustie-Datensatz zurück. Mit diesem kann sie sich dann gezielt eine zweite Connection beschaffen, deren DB-User über die passenden Rechte verfügt, um mittels der Stored Routines dann die vertikalen Durchgriffe zu realisieren.

#Nur zwei Fragen

  • denke ich da zu kompliziert; wie würde man es besser lösen?
  • wie würde ich anderenfalls die Trustie-Records erzeugen und verwalten können? Die müssen ja auch irgendwann wieder verfallen, am liebsten nur requestbasiert gelten und nicht pro Session. Aber das würde die DB-Aktion enorm in die Höhe treiben.
    (Ist ja aber bei TLS auch nicht anders. Das Token gilt immer nur für einen Request.)

Liebe Grüße
Tom S.

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.