Entra ID Gruppenfilter bei OIDC Tokens

Gerade in grösseren Umgebungen kann es schnell mal vorkommen, dass ein Account in mehr als 150 (SAML Limit) bzw. 200 (JWT Limit) Gruppen Mitglied ist. Aufgrund des HTTP Header Limits wird der Groups Claim von Microsoft Entra ID speziell behandelt: Configure group claims for applications by using Azure Active Directory – Microsoft Entra | Microsoft Learn. Wenn das Limit überschritten wird, schickt Microsoft Entra ID anstelle der Liste einen Link zum Graph API über den, mit den entsprechenden Berechtigungen, die Gruppenmitgliedschaften abgefragt werden können. Nun hat nicht jede Applikation die Möglichkeit diesen API Aufruf durchzuführen. Lange Zeit war es nur bei SAML Assertions möglich die Gruppen, welche im Claim erscheinen sollen, zu filtern. Dies hat sich im Laufe des Jahres 2023 geändert und dieser Beitrag zeigt auf, wie die Gruppen nun auch für OIDC/OAuth2 Tokens gefiltert werden können. Eine Alternative wäre die Gruppen der Applikation zuweisen und den Groups Claim auf Groups assigned to the application zu stellen. Damit würden nur noch die entsprechend zugewisenen Gruppen im Claim erscheinen, jedoch bedeutet dies ein händisches Verwalten der Gruppenzuweisung. ...

September 15, 2023 · 4 Minuten · 667 Wörter · Philipp

SAML/OIDC Claims debuggen mit Cat

Als Identity und Accessmanagement Engineer habe ich schon die eine oder andere Federated Authentication eingerichtet. Dabei gibt es einige mögliche Ursachen, weshalb die Authentifizierung in der Applikation nicht klappt. Eine häufige davon ist, dass die Assertion falsche, fehlende oder nicht richtig formattierte Claims enthält. Um dies zu debuggen gibt es verschiedene Möglichkeiten wie zum Beispiel ClaimsXRay von Microsoft, OpenID Connect debugger von Nate Barbettini oder die Browser Erweiterung SAML-tracer. Da ich ohnehin etwas tiefer in die Materie von SAML/OIDC/OAuth2 einsteigen wollte habe ich mich dazu entschlossen selber einen Microservice zum Visualisieren von Claims zu erstellen. Als Programmiersprache entschied ich mich für Go, weil ich mein Wissen darin ebenfalls vertiefen möchte und sie für mich schon fast der de facto Standart für Web Services, insbesondere Microservices geworden ist. In einer ersten Version habe ich auf existierende Module für SAML und OIDC von anderen Entwicklern zurückgegriffen. Dadurch konnte ich mich vor allem auf den Flow und das Session Handling konzentrieren, welche integrale Bestandteile der Authentifizierung sind. Bei diesem Projekt handelt es sich um eine überschaubare Grösse und darum entschied ich mich das Ganze mit Golang HTML Templates und ohne JavaScript Framework für das Frontend umzusetzten. Die folgende Grafik visualisiert die beiden Flows. Der Cat - cloud authentication tester ist übrigens das Projekt, über das ich im Artikel CI/CD Pipeline mit Gitea und Drone berichtet habe. ...

Juli 11, 2021 · 5 Minuten · 969 Wörter · Philipp

ADFS OpenId Connect für Grafana

Zum Visualisieren von Metriken gehört Grafana für mich zu den Top Werkzeugen. In einem grösseren Umfeld kann die Benutzerverwaltung jedoch schnell aufwändig werden und es bietet sich meistens die Möglichkeit einen bereits vorhandenen Identity Provider zu verwenden der die zentrale Benutzer Verwaltung zur Verfügung stellt. Als etablierte Enterprise Web Anwendung verfügt Grafana über Authentifizierungs Möglichkeiten via LDAP, OpenId Connect, SAML und weitere. In einer Cloud orientierten Welt ist natürlich eine Federations basierte Authentifizierung sehr willkommen, weshalb ich die Konfiguration mit ADFS und OpenId Connect beschreibe. ...

Juni 15, 2020 · 3 Minuten · 519 Wörter · Philipp