Es gibt eine Sache im Hotel, die ich früher immer als selbstverständlich angesehen habe.

Die Zugangskarte öffnet die Tür zu meinem eigenen Zimmer.

Aber sie öffnet nicht das Zimmer nebenan.

Sie öffnet auch nicht den Technikraum.

Und auch nicht den Bereich für das Personal.

Anfangs dachte ich, das sei nur die Art und Weise, wie das Hotel Berechtigungen verteilt.

Später habe ich es dann verstanden.

Wichtig ist nicht die Karte selbst, die das Öffnen von Türen erlaubt.

Sondern dass diese Erlaubnis nur in genau dem Bereich gilt, für den sie erstellt wurde.

Wenn eine Karte eines Gastes alle Türen im Gebäude öffnen könnte, dann läge das Problem nicht beim Karteninhaber.

Sondern darin, dass das System einen größeren Berechtigungsbereich vergeben hat, als nötig ist.

In dem Moment wurde mir das Newton Protocol plötzlich logisch.

Das, was ich interessant finde, ist nicht, dass einem Agent erlaubt wird, eine bestimmte Aufgabe zu erledigen.

Sondern dass die Policy den genauen Geltungsbereich dieser Authorization festlegt.

Ein Agent kann dazu berechtigt sein, eine Aktion auszuführen.

Aber das bedeutet nicht, dass sich seine Berechtigung automatisch auf andere Assets, Verträge oder Kontexte ausweiten sollte, nur weil sie sich im selben System befinden.

Das ist keine Einschränkung.

Das ist eine Designentscheidung.

Je breiter eine Berechtigung ist, desto größer sind die Folgen einer falschen Entscheidung.

Für mich ist ein vertrauenswürdiges System daher nicht das, das die geringsten Rechte vergibt.

Sondern das, das sicherstellt, dass jede Berechtigung nur genau in dem Umfang existiert, für den sie tatsächlich erstellt wurde.
$SPCXB $NEWT $LAB @NewtonProtocol #newt