Verschachtelte AD Filter für Gruppenmitgliedschaften
AD Gruppenberechtigungen sollen schnell, aber korrekt vergeben werden. Die Berechtigungsvergabe mit Hilfe verschachtelter AD Filter wird am besten automatisiert, höchstwahrscheinlich durch ein PowerShell-Skript. Schnell und einfach, richtig?
Im ersten Moment scheint es vielleicht einfach, aber sobald die benötigten AD Filter komplexer bzw. verschachtelt werden, oder angepasst werden müssen, kann das schnell zum Problem werden. Plötzlich ist der Kollege, der das Skript damals erstellt hat, nicht mehr da. Oder es ist so lange her, dass er einfach nicht mehr sicher ist, wie genau es eigentlich funktioniert. Ganz zu schweigen davon, dass das Skript immer langsamer wird, je mehr Benutzer und Gruppen es verarbeiten muss. Die AD LDS reagiert auch langsam auf komplexe LDAP-Abfragen mit tief verschachtelten Filtern auf einem WindowsServer, vor allem wenn die Attributwerte leer sind.
Nun steht die IT vor einem Problem, denn die Automatisierung von AD Gruppenberechtigungen mit komplexen verschachtelten Filtern ist zu langsam. Sie kann nur mit viel Aufwand an die neuen Regeln angepasst werden.
Hier finden Sie mit DynamicGroup eine Alternative zu PowerShell, um verschachtelte AD Filter anzulegen.
Index
Praxisszenarien: Verschachtelte AD Filter für granulare Berechtigungen
Oft sind die Bedingungen, anhand derer eine Berechtigung vergeben wird, komplex und müssen verschiedene Kriterien erfüllen. Der Grund dafür ist einfach: Eine Vielzahl an Faktoren hat Einfluss darauf, welche Rechte ein Benutzer hat. Die Abteilung, das Land und der Status sind häufig genutzte Werte, aber auch die Firmenfunktion oder eine andere Gruppenmitgliedschaft können entscheidend sein.
Uns haben dabei zum Beispiel Fälle erreicht, die, in anonymisierter Form, so aussahen:
– Ein Benutzer soll in Abteilung „Sales“ oder „HR“ sein, aber nicht den Titel „Abteilungsleiter“ haben.
– Ein Computer soll einen Namen haben, der „-A“ oder „-B“ enthält und auf „007“ enden. Außerdem soll er nicht in einer bestimmten OU liegen.
– Ein Benutzer soll aktiv in „Deutschland“, „Österreich“ oder „Schweiz“ angestellt, und in Abteilung „IT“ oder „Development“ sein.
Zusätzlich zu diesen festen Regeln kann es auch Ausnahmen geben, was die Komplexität der Lösung nur weiter erhöht.
Nun haben wir natürlich nicht nur eine solche Bedingung, sondern Dutzende – jede mit ihren eigenen Sonderfällen. Wenn wir das alles in PowerShell lösen möchten, brauchen wir eine gute Struktur und vielleicht sogar ausgelagerte Module. Aber selbst mit dem besten Vorsatz wird ein solches Skript in großen AD-Strukturen immer schwer wartbar und langsam sein.
Was sind „verschachtelte AD Filter “?
Ein Filter wird als verschachtelt bezeichnet, wenn er aus vielen verschiedenen Bedingungen aufgebaut ist, die miteinander verknüpft sind. Stellen wir einen solchen Filter grafisch dar, entsteht eine Baumstruktur mit mehreren Ebenen. Komplexe attributbasierte Berechtigungen basieren auf verschachtelten AD Filtern.
Über die „Active Directory Users and Computers“-Konsole, als auch über PowerShell, können wir solche Filter nur mithilfe von LDAP abbilden. LDAP bietet einem dabei das volle Band an Möglichkeiten, ist jedoch bei sehr komplexen Filtern schwer wartbar und dadurch fehleranfällig.
Verschachtelte AD Filter mit DynamicGroup
DynamicGroup dagegen bietet sowohl die Möglichkeit den Filter als LDAP zu bearbeiten, als auch in einer grafischen Oberfläche als Baumstruktur. Dabei können wir außerdem zwischen den Formaten konvertieren, also beispielsweise einen existierenden LDAP-Filter importieren und uns als Baumstruktur darstellen lassen, bevor wir ihn anpassen.
DynamicGroup vereinfacht die Verwaltung und Wartung von Gruppenmitgliedschaften mit verschachtelten AD Filtern dank einer einfachen Konfiguration, ohne die Kompatibilität zu altbekanntem LDAP zu verlieren.
Im Gegenteil zu PowerShell können auch die Kollegen übernehmen, die sich mit dem Skripten nicht so gut auskennen.
Zudem lassen sich in DynamicGroup über die Include- und Exclude-Listen Sonderfälle zu den definierten Regeln einfach konfigurieren.
Bleibt also noch die Frage zur Performance: Auch hier zeigen unsere Tests, dass PowerShell entschieden langsamer ist als DynamicGroup. Je komplexer die Bedingungen sind, desto deutlicher wird der Geschwindigkeitsgewinn von DynamicGroup. Unsere Anwendung ist bis zu 25x schneller als PowerShell.
Wie hilft DynamicGroup?
Wie würden wir ein Szenario, wie in unseren Beispielen, nun in DynamicGroup umsetzen?
Wir beginnen damit, den Filter genau zu analysieren und in die einzelnen Teilbedingungen und Verlinkungen zu zerlegen.
Werfen wir also einen genauen Blick auf das erste Beispiel:
Ein Benutzer soll in Abteilung „Sales“ oder „HR“ sein, aber nicht den Titel „Abteilungsleiter“ haben.
Dabei ergeben sich folgende Teilbedingungen, die „Und“-verknüpft sind. Es soll:
- Benutzer gefiltert werden
- auf Abteilung gefiltert werden. Es gibt dabei wiederum zwei mit „Oder“-verknüpfte Teilbedingungen
- auf Titel gefiltert werden
Die erste Teilbedingung ist ein Sonderfall, der in DynamicGroup durch eine Checkbox gesetzt wird. Damit wird die entstehende Baumstruktur weiter vereinfacht und ergibt sich folgendes Bild:
Wir sehen, dass der entstandene LDAP-Filter bereits komplizierte Klammerungen und Verknüpfungen enthält, obwohl diese Suchanfrage noch verhältnismäßig simpel ist.
Dank DynamicGroup müssen wir uns darüber keine Gedanken mehr machen und wir können einfach und schnell den Filter anlegen, als auch testen. Dank der „Preview“-Funktion können wir einen neuen oder veränderten Filter noch vor dem Speichern auf eine korrekte Ergebnisliste prüfen.
Fazit
Verschachtelte AD Filter sind oft nötig, um vollautomatisierte attributbasierte Berechtigungen (ABAC) umzusetzen. Mithilfe von DynamicGroup wird die Verwaltung und Wartung dieser Filter stark vereinfacht, die Umsetzung verschnellert und die Automatisierung verbessert.
Über die FirstAttribute AG
Die FirstAttribute ist ein unabhängiges Cloud Service- und Software-Unternehmen mit Schwerpunkt Identity & Access Management (IAM) für AD und M365/Entra ID. Sie erfahren mehr über unser Team unter Unternehmen.
DynamicGroup ist seit vielen Jahren ein beliebtes Tool für AD Administratoren, um Gruppenmitgliedschaften im AD koordiniert und sicher zu verwalten. Die Anwendung ist weltweit bei Unternehmen unterschiedlichster Branchen im Einsatz. Kontinuierliche Updates sorgen dafür, dass die Anwendung den wachsenden Anforderungen in der IT gerecht bleibt und genau das tut, was sie verspricht.
DynamicSync ist eine Automatisierungs-Software für Cloud-Gruppen. Als reiner Cloud-Dienst (SaaS) spezialisiert sich DynamicSync auf dynamische und automatische Gruppen-Synchronisierungen in Entra ID.