
CA Optics - Azure AD Conditional Access Gap-Analysator
Projekt archiviert aufgrund sich ändernder Entwicklungsprioritäten und der Neuausrichtung meiner Community-Aktivitäten auf andere Bereiche (PoCs, andere Tools und Demos/Präsentationen). Das Projekt ist auf schreibgeschützt gesetzt.
Azure AD Conditional Access Gap Analyzer ist eine Lösung zum Scannen von Lücken, die in komplexen Azure Active Directory Conditional Access Policy-Konfigurationen bestehen können.
Wenn Sie neu bei Conditional Access sind, empfehlen wir Ihnen, den folgenden Microsoft-Artikel zu lesen: https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/overview
Einzeiler zum Ausführen dieses Tools: (falls dies der einzige Teil ist, den Sie zu lesen planen, und Sie die Installation abgeschlossen haben)
node ./ca/main.js --mapping --skipObjectId=259fcf40-ff7c-4625-9b78-cd11793f161f --clearPolicyCache --clearTokenCache --clearMappingCache
Nachdem Sie die Voraussetzungen erfüllt und diese README-Datei gelesen haben, beachten Sie Folgendes:
reportOnly-Richtlinien werden nicht als terminierend betrachtet:
Lesen Sie: scope
führen Sie jeden Scan mit --clearPolicyCache aus
führen Sie jeden Scan mit --clearMappingCache aus, wenn Sie Änderungen an Gruppen/Benutzern im Zusammenhang mit Richtlinien vornehmen
Nur Richtlinien, die auf Benutzer und Apps abzielen, sind im Geltungsbereich (dies ist der häufigste Geltungsbereich, bedeutet aber beispielsweise, dass die Sicherheitsregistrierungsrichtlinie nicht bewertet wird)
Lesen Sie: scope
Beginnen Sie mit einer Testumgebung, damit Sie Erfahrungen sammeln und Erwartungen an die Funktionsweise des Tools festlegen können
Wenn Sie bekannte Gruppen oder Benutzer haben, die von Richtlinien ausgeschlossen sind, definieren Sie mit --skipObjectIds Objekte, die vom Scan ausgeschlossen werden sollen, es sei denn, Sie möchten die Ausschlüsse bestätigen
Wenn Sie Scans in mehreren Umgebungen ausführen, stellen Sie sicher, dass Anmeldungen und Caches entfernt werden, bevor Sie neue Scans ausführen
Lesen Sie:parameters
az account clear, bevor Sie fortfahren, und führen Sie dann mit az login eine neue Anmeldung an der Umgebung durch, die Sie scannen möchtenLesen Sie weitere wichtige Hinweise
Versionshinweise: 0.7.1
- Aktualisierte Abhängigkeiten und Berichtstextausgaben
Versionshinweise: 0.7
- Verwendet jetzt standardmäßig den Beta-Endpunkt; die Option --expand erweitert die Ergebnisse jetzt im Bericht, unabhängig von der Verwendung von --allTerminations
Versionshinweise: 0.6.9
- Verwendung von --expand=9c06d103-f5b0-4404-bb25-aec4636912cd,47087cd3-64e9-470b-980a-5662f498e016 und Erweiterung von 10 Gruppenmitgliedern zur separaten Prüfung.
Versionshinweise: 0.6.8
- Wenn Sie eine Richtlinie mit Gastbedingungen in der GUI aktualisieren, ist diese Richtlinie nach der Aktualisierung nur noch über den Beta-Endpunkt verfügbar (während der Vorschau).
- Dieses Update bringt eine Normalisierung für Richtlinien, die aufgrund dieses Verhaltens an den Beta-Endpunkt übertragen werden.
- Die Richtlinie wird wie die bisherigen Gastbedingungen bewertet, solange die folgenden Bedingungen enthalten sind "internalGuest,b2bCollaborationGuest,b2bCollaborationMember" und keine Mandanten von der Richtlinie ausgeschlossen sind. Um übertragene Richtlinien zu bewerten,
- verwenden Sie '--allowPreviewPolicies', wenn Sie CaOptics ausführen, um dieses Verhalten zu berücksichtigen
Versionshinweise: 0.6.6-7 beta
- Ermöglicht die Verwendung unterschiedlicher Anmelde-Endpunkte für Anmeldung und Graph mit den Parametern: --altLogin --altGraph
- Ermöglicht die Verwendung einer benutzerdefinierten Filterung für Richtlinien (nur empfohlen, wenn die Richtlinien nicht dem erwarteten Schema entsprechen)
Versionshinweise: 0.6.5 beta
- Zähler zur Berichterstattung hinzugefügt; bei einer hohen Anzahl von Permutationen wird diese ebenfalls zum Bericht hinzugefügt (Standard ist, nur nicht terminierte hinzuzufügen)
- Kleinere Code-Korrekturen: <var> in <let> geändert
- Der Berichtsdateiname enthält jetzt Tag, Monat, Jahr und tenantId, z. B. report_day_4_month_9_year_2022-tenant_48f55450-183a-45d6-a9ce-68f3cbc68947.csv
Versionshinweise: 0.6.4 beta
- Mehr Gruppen pro einzelnen Aufruf abrufen (weniger Batching)
- Race-Condition behoben, die bei der allgemeinen Verwendung von for-await-Schleifen erkannt wurde
- Werte mit "" zwischen Trennzeichen einschließen (CSV)
Versionshinweise: 0.6.3 beta
- Optimierungen bei der Handhabung der zugeordneten Objekte.
- Zugeordnete Objekte werden gecacht. Sie können die Objektzuordnung mit dem Parameter 'clearMappingCache' neu erstellen.
- Lookup-Schlüssel beginnen immer zuerst mit den Bedingungen 'user/group/role'
- Möglichkeit hinzugefügt, die Usermap mit zufälligen UUIDs zu befüllen, um die Auswirkungen auf die Leistung zu testen (dies ist nur eine Debug-Option und nicht wirklich etwas, das in Nicht-Beta-Versionen enthalten wäre)
Versionshinweise: 0.6.2 beta
- Cache-Parameter in separate Funktionen aufgeteilt -> (clearTokenCache und ClearPolicyCache)
- Möglichkeit hinzugefügt, einen voroptimierten Algorithmus für Permutationen mit dem Parameter --aggressive auszuführen (hoher Speicherverbrauch, nur hier für A/B-Tests)
- Zusammenführung abgeschlossen.
Versionshinweise: 0.6.1 beta
- Grundlegende Version der CSV-Berichterstattung hinzugefügt
- Optimierte Permutationsgenerierung, um sicherzustellen, dass wesentliche Permutationen generiert werden, und einige Permutationen werden bei den Lookups früher terminiert
Versionshinweise: 0.6 beta (erste nicht "stille" Version)
- App-Anzeigenamen zum MD-Bericht hinzugefügt. Objekttyp zum Benutzertyp hinzugefügt
Versionshinweise: 0.5.2,0.5.1,0.5 beta (siehe vorherige Branches für Versionshinweise)

Beispiel für richtlinienübergreifende Erkennung
❌ Jede Permutation mit dem Wert 0 bedeutet, dass für diese bestimmte Kombination von Bedingungen keine Richtlinie terminiert wurde.