2017-07-20 4 views
0

Ich habe eine lange laufende Anwendung, die FederatedAuthentication mit Azure AD verwendet, um Ansprüche-basierte Identitäten zu verwalten. Mein Anwendungsmanifest ist so eingestellt, dass alle Sicherheitsgruppen für einen Benutzer aufgelistet werden (damit ich die Liste der Gruppen durchgehen kann, zu denen sie gehören).Phantom Group-Mitgliedschaft in Azure AD

Innerhalb dieser Anwendung habe ich einen Benutzer, der Mitglied einer einzelnen Top-Level-Gruppe ist. Diese Gruppe ist kein Mitglied eines anderen. Wenn sich der Benutzer zuvor anmeldete, wurde nur ein einzelner http://schemas.microsoft.com/ws/2008/06/identity/claims/groups-Wert an seinen ClaimsPrincipal angehängt, sodass die einzelne Gruppe, der er angehört, ordnungsgemäß angezeigt wurde.

Seit kurzem (in den letzten Tagen), wenn sich mein Benutzer anmeldet, gibt es zwei http://schemas.microsoft.com/ws/2008/06/identity/claims/groups Werte. Eine davon entspricht immer noch der Gruppe, der sie angehören, aber die neue stimmt nicht mit der ID einer sichtbaren Gruppe in meinem aktiven Verzeichnis überein (oder einem anderen Objekt, das ich sehen kann: keine Anwendungs-ID und keine andere Benutzer-ID).

Wo könnte diese Phantomgruppen-Mitgliedschaft herkommen, und kann ich sie irgendwie entfernen?

aktualisieren-groupMembershipClaims in der Anwendung manifestieren wird auf SecurityGroup (nicht All).

+0

Wurde der Benutzer zu einem anderen Mandanten in AAD hinzugefügt? Oder haben sie kürzlich begonnen, ein anderes Produkt mit ihrem Benutzernamen zu verwenden, wie VSTS? –

+0

@RickvandenBosch Kürzlich in eine neue App eingeloggt. Nicht zugewiesen zu einem anderen Mieter, den ich kenne (ich kann überprüfen). Würde sich die Mitgliedschaft eines anderen Mieters in Gruppen zeigen? – JcFx

+1

Nicht sicher, versuche nur, alle Details zu erhalten;) –

Antwort

1

In meinen Tests, die Gruppenansprüche eine Sammlung der Gruppen und DirectoryRoles zurückkehren, dass aktuelle Benutzer ein Mitglied, das Ergebnis ist ähnlich memberOf azur ad Graph api zu verwenden:

https://graph.windows.net/myorganization/users/{user_id}/$links/memberOf?api-version 

Das Ergebnis mit oben api: enter image description here

Auch wenn ich groupMembershipClaims-SecurityGroup gesetzt, bekomme ich die gleichen drei Sätze (2 Gruppen und 1 Verzeichnis Rolle) in meinem Token mit Gruppenansprüchen. Mein Konto ist ein globaler Administrator in meinem AAD. Wenn ich das Konto auf die Benutzerverzeichnisrolle (keine Administratorrolle) setze, erhalte ich nur zwei Gruppendatensätze in meinen Gruppenansprüchen.

Mit azure ad graph api, um alle Gruppen zu erhalten, denen der Benutzer direkte oder transitive Mitgliedschaft hat, könnten wir die getMemberGroups Funktion aufrufen.

Wenn Sie möchten, dass Gruppenansprüche nur Gruppen zurückgeben, bei denen der Benutzer direkte oder transitive Mitgliedschaft hat, können Sie Ihr Feedback in AAD userVoice senden.

+0

Das macht Sinn. Der Benutzer wurde kürzlich zum globalen Administrator für das Verzeichnis. Das ist aber keine Gruppe, also konnte ich nicht sehen, wie das wirken könnte (und es scheint ein wenig buggy, dass seine Rolle in einer Liste namens "groups" zurückgegeben wird - während die "memberOf" -Funktionalität korrekt zu sein scheint) . Er muss eigentlich kein Administrator sein, also sollte ich es leicht beheben können. Danke vielmals. – JcFx