/
/

So rufen Sie mit der Microsoft Graph API Compliance-Berichte über mehrere Mandanten hinweg ab

von Team Ninja
How to Use Microsoft Graph API to Pull Compliance Reports Across Multiple Tenants blog banner image

Kurzüberblick

Dieser NinjaOne-Blogbeitrag bietet eine umfassende Liste grundlegender CMD-Befehle und einen tiefen Einblick in die Windows-Befehle mit über 70 wichtigen CMD-Befehlen für Anfänger:innen und Fortgeschrittene. Der Blogartikel erklärt praktische Befehle der Eingabeaufforderung für die Dateiverwaltung, die Navigation in Verzeichnissen, die Fehlersuche im Netzwerk, Festplattenoperationen und die Automatisierung mit echten Beispielen zur Steigerung der Produktivität. Egal, ob Sie grundlegende CMD-Befehle lernen oder fortgeschrittene Windows CLI-Tools beherrschen möchten, dieser Leitfaden hilft Ihnen, die Eingabeaufforderung effektiver zu verwenden.

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

  1. Öffnen Sie das Azure AD-Portal in Ihrem Browser.
  2. Gehen Sie zu App Registrations > New Registration.
  3. Vergeben Sie einen Namen für die App, die Sie registrieren möchten.
  4. Legen Sie als Kontotyp Accounts in this organizational directory only (Contoso only – Single tenant) fest.
  5. Passen Sie anschließend die Anwendungsberechtigungen an, indem Sie auf Add a permission klicken. Damit gelangen Sie zu Microsoft Graph.
  6. Erteilen Sie die folgenden Berechtigungen:
    • Reports.Read.All
    • AuditLog.Read.All
    • SecurityEvents.Read.All
    • Directory.Read.All
  7. Klicken Sie auf Add Permissions.
  8. 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.
  9. Wechseln Sie zu Certificates & secrets.
  10. Wählen Sie Client Secrets > New Client secret.
  11. Füllen Sie die Angaben aus und folgen Sie den Anweisungen. Dieses Geheimnis dient als Passwort für die Anwendung.
  12. 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

  1. Öffnen Sie das Startmenü und suchen Sie nach Windows PowerShell.
  2. Klicken Sie mit der rechten Maustaste auf Windows PowerShell > Als Administrator ausführen.
  3. 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

  1. 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.

  1. 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:

  1. 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"

  1. 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"

  1. 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"

  1. 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:

  1. Öffnen Sie das Startmenü und suchen Sie nach Registrierungs-Editor, um das Programm zu öffnen.
  2. 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.

  1. Öffnen Sie das Startmenü und suchen Sie nach Gruppenrichtlinie bearbeiten, um das Programm zu öffnen.
  2. Navigieren Sie zu folgendem Pfad: Computerkonfiguration > Administrative Vorlagen > Windows-Komponenten > Datensammlung.
  3. 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.

  1. Öffnen Sie das Startmenü und suchen Sie nach Eingabeaufforderung.
  2. Klicken Sie mit der rechten Maustaste auf Eingabeaufforderung > Als Administrator ausführen.
  3. 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:

FAQs

Grundlegende Anmelde- und Sicherheitswarnungsdaten stehen bereits mit der Standardlizenzierung von Microsoft 365 zur Verfügung. Erweiterte Compliance-Berichte erfordern jedoch eine Lizenz für Microsoft 365 E5 oder das Add-on E5 Compliance.

Der Endpunkt v1.0 ist stabil und für den Produktiveinsatz freigegeben. Der beta-Endpunkt stellt dagegen neuere oder noch in Entwicklung befindliche Compliance- und Sicherheits-APIs bereit, die sich ohne Vorankündigung ändern oder ausfallen können. Wer beta-Endpunkte für geplante, mandantenübergreifende Automatisierung nutzt, geht ein dauerhaftes Wartungsrisiko ein.

Die Aufbewahrung hängt von der Microsoft 365-Lizenzstufe ab: Anmeldeprotokolle werden in den meisten Plänen in der Regel 30 Tage aufbewahrt, mit einer Premium-Lizenzierung für Azure AD entsprechend länger. Für Verzeichnis-Audit-Protokolle gelten ähnlich gestaffelte Grenzen.

Ja. Die App-Registrierung benötigt lediglich die konkreten API-Berechtigungen mit erteilter Administratorzustimmung, nicht aber eine einer Person zugewiesene Rolle als globale:r Administrator:in.

Microsoft Graph drosselt Anfragen pro App und Mandant und gibt beim Erreichen der Grenzwerte den Status 429 mit einem Retry-After-Header zurück. Skripte, die Daten über viele Mandanten hinweg abrufen, sollten deshalb mit exponentiellem Backoff und einer Wiederholungslogik arbeiten, statt Anfragen in einer engen Schleife abzusetzen.

Die Graph API kann dieselben zugrunde liegenden Daten automatisiert zusammenführen, die auch das Purview-Portal anzeigt. Purview bleibt jedoch das führende System für die Konfiguration von DLP-Richtlinien, Aufbewahrungsbezeichnungen und eDiscovery-Fällen.

Das könnte Sie auch interessieren

Sind Sie bereit, die schwierigsten Aufgaben der IT zu vereinfachen?

NinjaOne Allgemeine Geschäftsbedingungen für Skripte

Indem Sie unten auf die Schaltfläche „Ich akzeptiere“ klicken, erklären Sie Ihr Einverständnis mit den folgenden rechtlichen Bedingungen sowie mit unseren Nutzungsbedingungen:

  • Eigentumsrechte: NinjaOne besitzt und wird weiterhin alle Rechte, Titel und Interessen an dem Skript (einschließlich des Urheberrechts) behalten. NinjaOne gewährt Ihnen eine eingeschränkte Lizenz zur Nutzung des Skripts in Übereinstimmung mit diesen rechtlichen Bedingungen.
  • Einschränkung der Nutzung: Sie dürfen das Skript nur für Ihre legitimen persönlichen oder internen Geschäftszwecke verwenden und es nicht an Dritte weitergeben.
  • Verbot der Wiederveröffentlichung: Sie sind unter keinen Umständen berechtigt, das Skript in einer Skriptbibliothek, die einem anderen Softwareanbieter gehört oder von diesem kontrolliert wird, erneut zu veröffentlichen.
  • Gewährleistungsausschluss: Das Skript wird „wie gesehen“ und „wie verfügbar“ bereitgestellt, ohne jegliche Garantie. NinjaOne gibt keine Versprechen oder Garantien, dass das Skript frei von Fehlern ist oder dass es Ihre speziellen Bedürfnisse oder Erwartungen erfüllt.
  • Risikoübernahme: Die Verwendung des Skripts erfolgt auf eigene Gefahr. Sie erkennen an, dass die Nutzung des Skripts mit bestimmten Risiken verbunden ist, und Sie verstehen und übernehmen jedes dieser Risiken.
  • Verzicht und Freigabe: Sie machen NinjaOne nicht für nachteilige oder unbeabsichtigte Folgen verantwortlich, die sich aus Ihrer Nutzung des Skripts ergeben, und Sie verzichten auf alle gesetzlichen oder billigkeitsrechtlichen Rechte oder Rechtsmittel, die Sie gegen NinjaOne im Zusammenhang mit Ihrer Nutzung des Skripts haben könnten.
  • EULA: Wenn Sie ein NinjaOne-Kunde sind, unterliegt Ihre Nutzung des Skripts dem für Sie geltenden Endbenutzer-Lizenzvertrag (EULA).