Schlüsselpunkte
- Diese Anleitung zeigt Ihnen, wie Sie mit der Microsoft Graph API Compliance-Daten aus Microsoft 365 über mehrere Mandanten hinweg an einem einzigen Endpunkt abrufen.
- Jeder Azure AD-Mandant benötigt eine eigene App-Registrierung mit den Berechtigungen Reports.Read.All, AuditLog.Read.All, SecurityEvents.Read.All und Directory.Read.All sowie eine Administratorzustimmung, bevor Aufrufe der Graph API funktionieren.
- Das Microsoft Graph PowerShell SDK authentifiziert sich mit Client-ID, Mandanten-ID und Geheimnis einer registrierten App und stellt anschließend Anfragen an die Graph API, um Anmeldeprotokolle, Sicherheitswarnungen und Aufbewahrungsbezeichnungen abzurufen.
- Wenn Sie die Anmeldeinformationen der Mandanten in einer JSON-Datei hinterlegen und in einer Schleife durchlaufen, können IT-Teams Compliance-Daten aus jedem verwalteten Mandanten regelmäßig abrufen und exportieren, statt sich manuell anzumelden.
- Abgelaufene Client-Geheimnisse und die Ratenbegrenzungen von Microsoft Graph sind die häufigsten Fehlerquellen. Proaktive Alarmierungen zur Rotation von Geheimnissen und eine Wiederholungslogik sind daher genauso wichtig wie die anfängliche Einrichtung.
- Automatisierungsplattformen, die PowerShell-Skripte auf verwalteten Endpunkten ausführen können, helfen dabei, diese Abrufe über die Graph API zu planen und sie um Kontext auf Geräteebene zu ergänzen.
Die Sicherheits- und Compliance-Werkzeuge der Microsoft Graph API sind in jeder Unternehmensumgebung unverzichtbar. Sie bieten Ihnen einen einheitlichen Endpunkt, über den Sie auf sämtliche Audit-Protokolle, DLP-Berichte, Warnungsvorfälle und Aufbewahrungsrichtlinien der Microsoft 365-Konten Ihres Unternehmens zugreifen.
Der Einsatz dieses Werkzeugs bringt mehrere zentrale Vorteile mit sich: Sie behalten die Compliance mandantenübergreifend im Blick, automatisieren die Berichterstattung ohne Zugriff auf das Portal, nutzen eine sichere app-basierte Authentifizierung und profitieren von einfachen Integrationen mit SIEM-Lösungen und eigenen Dashboards.
Anleitung: Compliance-Berichte über Microsoft Graph abrufen
Bevor Sie beginnen, müssen Sie die Anwendung im Azure AD-Portal konfigurieren und sicherstellen, dass sie über die notwendigen Berechtigungen verfügt. Anschließend verbinden Sie Ihr Konto über Windows PowerShell mit Microsoft Graph und erzeugen die Berichte automatisiert. Alternativ können Sie den Prozess über eine .JSON-Datei automatisieren.
Mit GPOs lassen sich Ihre Sicherheitsabläufe zusätzlich stärken. Über die Windows-Registrierung stellen Sie sicher, dass alle Richtlinien konsistent auf allen verwalteten Geräten angewendet werden. Und falls ein Fehler auftritt, können Sie ihn über die Eingabeaufforderung eingrenzen.
Voraussetzungen:
- Eine Azure AD-App-Registrierung für jeden Mandanten (oder Microsoft Lighthouse, erforderlich für delegierten Zugriff)
- Für die benötigten API-Bereiche muss eine Administratorzustimmung erteilt sein.
- Für erweiterte Berichte ist das Add-on Microsoft 365 E5 Compliance erforderlich.
- Sie benötigen Windows PowerShell mit installiertem Microsoft Graph SDK.
- Optional/empfehlenswert: Zugriff auf Intune, GPO und die Windows-Registrierung zur Prüfung von Endpunkt-Richtlinien
Das Video zeigt So nutzen Sie die Microsoft Graph API, um Compliance-Berichte über mehrere Mandanten hinweg abzurufen auf dem Bildschirm, eine hilfreiche Referenz, bevor Sie die Einstellungen aufrufen und konfigurieren.
Schritt 1: Eine App in Azure für den Graph-Zugriff registrieren
- Öffnen Sie das Azure AD-Portal in Ihrem Browser.
- Gehen Sie zu App Registrations > New Registration.
- Vergeben Sie einen Namen für die App, die Sie registrieren möchten.
- Legen Sie als Kontotyp Accounts in this organizational directory only (Contoso only – Single tenant) fest.
- Passen Sie anschließend die Anwendungsberechtigungen an, indem Sie auf Add a permission klicken. Damit gelangen Sie zu Microsoft Graph.
- Erteilen Sie die folgenden Berechtigungen:
- Reports.Read.All
- AuditLog.Read.All
- SecurityEvents.Read.All
- Directory.Read.All
- Klicken Sie auf Add Permissions.
- Klicken Sie auf die Schaltfläche Grant admin consent. Danach kann die Anwendung alle Benutzerprofile lesen, für die Sie ihr Zugriff gewährt haben.
- Wechseln Sie zu Certificates & secrets.
- Wählen Sie Client Secrets > New Client secret.
- Füllen Sie die Angaben aus und folgen Sie den Anweisungen. Dieses Geheimnis dient als Passwort für die Anwendung.
- Notieren Sie sich die Anwendungs-ID (Client), die Verzeichnis-ID (Mandant) und den Geheimniswert. Damit können Sie später erneut auf die Anwendung zugreifen.
Wiederholen oder automatisieren Sie diesen Vorgang für jeden Mandanten, der ihn benötigt.
Schritt 2: In PowerShell eine Verbindung zu Microsoft Graph herstellen
- Öffnen Sie das Startmenü und suchen Sie nach Windows PowerShell.
- Klicken Sie mit der rechten Maustaste auf Windows PowerShell > Als Administrator ausführen.
- Um Microsoft Graph zu installieren, geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:
Install-Module Microsoft.Graph -Scope CurrentUser
Import-Module Microsoft.Graph
- Um sich mit den Anmeldeinformationen Ihrer App zu verbinden, geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:
Connect-MgGraph -ClientId "APP_ID" -TenantId "TENANT_ID" -ClientSecret (ConvertTo-SecureString "SECRET" -AsPlainText -Force)
Ersetzen Sie „APP_ID“ durch die Client-ID, „TENANT_ID“ durch die Mandanten-ID und „SECRET“ durch den von Ihnen erzeugten Geheimniswert.
- Um den Bereich auszuwählen, geben Sie
Select-MgProfile -Name "beta"ein und drücken Sie die Eingabetaste.
Sie sind nun mit Microsoft Graph verbunden.
Schritt 3: Compliance-Berichte mit der Microsoft Graph API abrufen
Sobald Sie in Windows PowerShell bei Microsoft Graph angemeldet sind, gehen Sie so vor:
- Um Audit-Protokolle abzurufen, geben Sie diesen Befehl ein und drücken Sie die Eingabetaste:
$logs = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/auditLogs/signIns"
- Um DLP-Warnungen aufzulisten, geben Sie diesen Befehl ein und drücken Sie die Eingabetaste:
$alerts = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/security/alerts"
- Um Aufbewahrungsrichtlinien aufzulisten, geben Sie diesen Befehl ein und drücken Sie die Eingabetaste:
$policies = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/security/retentionLabels"
- Um die Daten in eine .CSV-Datei zu exportieren, geben Sie diesen Befehl ein und drücken Sie die Eingabetaste:
$logs.value | Export-Csv -Path ".\Tenant_AuditLogs.csv" -NoTypeInformation
Wiederholen Sie diesen Vorgang für jeden Mandanten. Melden Sie sich dabei jeweils mit den zugehörigen Anmeldeinformationen an.
Optional: Mandantenübergreifende Berichterstattung automatisieren
IT-Administrator:innen können alle Anmeldeinformationen der Mandanten in einer JSON-Datei ablegen. Diese Datei lässt sich bei Bedarf ausführen, um jeden Mandanten in einer Schleife zu durchlaufen, eine Verbindung herzustellen und die Daten zusammenzuführen. Über die Aufgabenplanung können sie die Datei mithilfe ihres Werkzeugs für Endpunkt-Management automatisiert in regelmäßigen Abständen ausführen lassen.
Hier ein Beispiel für den Aufbau einer solchen Mandantenschleife:
foreach ($tenant in $tenantList) {
Connect-MgGraph -ClientId $tenant.ClientId -TenantId $tenant.TenantId -ClientSecret $tenant.Secret
$auditData = Invoke-MgGraphRequest -Uri "https://graph.microsoft.com/beta/auditLogs/signIns"
$auditData.value | Export-Csv -Path ".\$($tenant.Name)_Audit.csv" -Append
}
Optional: Mit der Registrierung Berichtskontext auf Endpunkten bereitstellen
Anwendungsfall: Über Registrierungsschlüssel lässt sich sicherstellen, dass Gerätekennzeichnungen und Berichtsbezeichnungen auf allen Geräten einheitlich angewendet werden. Gehen Sie dazu so vor:
- Öffnen Sie das Startmenü und suchen Sie nach Registrierungs-Editor, um das Programm zu öffnen.
- Suchen Sie den passenden Registrierungsschlüssel für die Anwendung, die Sie prüfen möchten. Zur Orientierung hier ein beispielhafter Registrierungspfad mit den zugehörigen Werten:
HKEY_LOCAL_MACHINE\SOFTWARE\Contoso\Compliance
-
- TenantTag (String) – Der Wert muss „ClientA“ lauten.
- LastAuditSync (String)- Der Wert muss „[Datum der letzten Audit-Synchronisierung]“ lauten.
Hinweis: Sie können diese Kennzeichnungen per Skript auslesen, um Endpunkt-Metadaten in die über Graph erzeugten Berichte aufzunehmen.
Optional: Gruppenrichtlinien für den Compliance-Status von Endpunkten nutzen
Anwendungsfall: Gruppenrichtlinien unterstützen die Durchsetzung und stellen die Compliance von Endpunkten sicher, insbesondere für die Compliance-Bewertung und die Berichterstattung zur Datensensibilität.
- Öffnen Sie das Startmenü und suchen Sie nach Gruppenrichtlinie bearbeiten, um das Programm zu öffnen.
- Navigieren Sie zu folgendem Pfad: Computerkonfiguration > Administrative Vorlagen > Windows-Komponenten > Datensammlung.
- Aktivieren Sie die folgenden Richtlinien:
- Telemetrie zulassen, die Sie zusätzlich auf Erweitert oder Vollständig setzen sollten.
- Kommerzielle ID für die Gerätegruppierung konfigurieren
Optional: Berechtigungen und Konnektivität über die Eingabeaufforderung prüfen
Anwendungsfall: Das ist besonders für On-Premise- oder Hybrid-Umgebungen nützlich, in denen Endpunkte compliance-konform ausgerichtet sein müssen.
- Öffnen Sie das Startmenü und suchen Sie nach Eingabeaufforderung.
- Klicken Sie mit der rechten Maustaste auf Eingabeaufforderung > Als Administrator ausführen.
- Um den Internetzugang und den Zugriff auf den Graph-Endpunkt zu prüfen, geben Sie diesen Befehl ein und drücken Sie die Eingabetaste:
nslookup graph.microsoft.com
ping graph.microsoft.com
Um den Synchronisierungsstatus des lokalen Agenten zu prüfen, geben Sie diesen Befehl ein und drücken Sie die Eingabetaste:
dsregcmd /status
Um sicherzustellen, dass die GPO-Richtlinien angewendet wurden, geben Sie dies ein und drücken Sie die Eingabetaste:
gpresult /h gpo.html
Quick-Start-Guide
NinjaOne unterstützt Sie dabei, mit der Microsoft Graph API Compliance-Berichte über mehrere Mandanten hinweg abzurufen. Die NinjaOne-Plattform ist darauf ausgelegt, die Arbeit mit Microsoft 365-Umgebungen zu vereinfachen, auch in komplexen Szenarien wie der mandantenübergreifenden Compliance-Berichterstattung. Dafür stehen gezielte Funktionen bereit, die diese Prozesse verwalten und automatisieren.
- Compliance-Berichterstattung: Rufen Sie Sicherheits- und Compliance-Berichte über alle verwalteten Konten hinweg ab.
- Automatisierung: Automatisieren Sie die Erstellung von Berichten und die Datenerfassung.
- Integration: Nahtlose Verbindung mit Microsoft Graph für den Datenzugriff in Echtzeit.
- Skalierbarkeit: Ausgelegt auf die Überwachung der Compliance in großem Maßstab über ganze Unternehmen hinweg.
Darauf sollten Sie achten
| Problem/Risiko | Mögliche Folgen | Lösung/Rückgängigmachen |
| Es tritt ein Fehler „Access Denied“ auf. | Sie erhalten keinen Zugriff auf die gesuchten Daten. | Prüfen Sie, ob die Administratorzustimmung erteilt und die erforderlichen API-Bereiche korrekt zugewiesen sind. |
| Sie erhalten eine leere Antwort. | Sie bekommen die gesuchten Daten nicht. | Stellen Sie sicher, dass der Mandant über die passende Lizenzierung verfügt und die Protokollierung aktiviert ist. |
| Das Client-Geheimnis ist abgelaufen. | Sie können nicht auf die Daten in Microsoft Graph zugreifen. | Richten Sie in Ihrem Tool für Endpunkt-Management eine Alarmierung ein, die Sie rechtzeitig vor dem Ablauf von Geheimnissen informiert. |
| Es liegt ein Skriptfehler vor. | Sie können die Berichte nicht abrufen. | Nutzen Sie Try/Catch-Blöcke und eine ausführliche Protokollierung zur Fehlersuche. |
Weitere Punkte beim Abruf von Compliance-Berichten über Microsoft Graph
- Behalten Sie Ratenbegrenzungen und die Drosselung durch Microsoft Graph im Blick. In manchen Fällen müssen Sie Aktionen wiederholen, vor allem wenn Sie große Datenmengen abrufen.
- Mit Azure Lighthouse oder mandantenübergreifenden Zugriffsmodellen reduzieren Sie die Komplexität.
- Speichern Sie Ihre Client-Geheimnisse in Azure Key Vault oder einer verschlüsselten Speicherlösung.
- Stellen Sie sicher, dass nur autorisierte Personen Zugriff auf Berichte mit benutzerbezogenen Daten haben.
Leistungen von NinjaOne
NinjaOne verbessert die Graph-basierte Compliance-Automatisierung durch:
- Mandantenübergreifende Ausführung: Mit dem Remote PowerShell-Tool von NinjaOne planen und verteilen Sie PowerShell-Berichtsskripte über alle verwalteten Mandanten hinweg.
- Zentrale Verwaltung von Anmeldeinformationen: Speichern Sie die Anmeldeinformationen für die Graph API sicher und rufen Sie sie pro Mandant aus einer sicheren, verschlüsselten Speicherlösung ab.
- Alarmierungen und Compliance-Dashboards: Binden Sie Berichtsergebnisse in individuelle Dashboards ein und lassen Sie sich bei Überschreiten von Risikoschwellen benachrichtigen.
- Kontext auf Endpunkt-Ebene: Rufen Sie über das Endpoint Management-Tool von NinjaOne gerätespezifische Registrierungs- und GPO-Daten ab, um Compliance-Berichte anzureichern.
- Automatisiertes Ticketing: Richten Sie Alarmierungen ein, wenn bestimmte Compliance-Zustände erkannt werden, etwa ausbleibende Audits oder eine fehlende Aufbewahrungsrichtlinie.
Nutzen Sie Microsoft Graph für Ihre Compliance-Berichte
Microsoft Graph ist ein leistungsstarkes Tool, um die Compliance-Berichterstattung in Unternehmensumgebungen zu automatisieren. IT-Administrator:innen erhalten damit skalierbare Einblicke in Mandantenaktivitäten, Datenschutz und regulatorische Aufstellung.
Verwandte Themen:
- Was ist ein Compliance-Audit? Definition & Bedeutung
- Was ist Compliance-Management? Definition & Bedeutung
- Was ist Secrets Management? Best Practices für die IT-Sicherheit
- Was ist API-Management? Übersicht & Best Practices
- So führen Sie geplante Graph API-Prüfungen auf abgelaufene Lizenzen und inaktive Benutzer:innen durch
- [Video Guide] So führen Sie geplante Graph API-Prüfungen auf abgelaufene Lizenzen und inaktive Benutzer:innen durch