Microsoft Dynamics 365-Nutzeraktivitätslogs erfassen
In diesem Dokument wird beschrieben, wie Sie Protokolle zur Nutzeraktivität in Microsoft Dynamics 365 erfassen können, indem Sie einen Google SecOps-Feed mit Microsoft Azure Blob Storage V2 einrichten.
Microsoft Dynamics 365 ist eine cloudbasierte Plattform für Geschäftsanwendungen, die CRM- und ERP-Funktionen kombiniert. In Protokollen zur Nutzeraktivität werden Aktionen und Ereignisse erfasst, die von Nutzern in Dynamics 365-Anwendungen ausgeführt werden, einschließlich Entitätsvorgängen, Datenzugriff und Verwaltungsaktivitäten. Dynamics 365 basiert auf Microsoft Dataverse, das umfassendes Audit-Logging über das einheitliche Audit-Log von Microsoft Purview bietet.
Hinweis
Folgende Voraussetzungen müssen erfüllt sein:
- Eine Google SecOps-Instanz
- Privilegierter Zugriff auf das Microsoft Azure-Portal mit Berechtigungen für:
- Speicherkonten erstellen
- Azure Synapse Link für Dataverse konfigurieren
- Zugriffsschlüssel verwalten
- Ein Microsoft 365-Abo, das Dynamics 365 umfasst
- Sicherheitsrolle „Systemadministrator“ in der Dynamics 365-Umgebung
Global Administrator- oder Power Platform-Administratorzugriff auf das Power Platform Admin Center
Dataverse-Prüfung aktivieren
Bevor Sie Dynamics 365-Protokolle für Nutzeraktivitäten exportieren können, müssen Sie die Überwachung im Power Platform Admin Center aktivieren.
- Melden Sie sich im Power Platform Admin Center an.
- Wählen Sie im Navigationsbereich Umgebungen aus.
- Wählen Sie die Umgebung aus, die Ihre Dynamics 365-Bereitstellung enthält.
- Wählen Sie in der Befehlsleiste Einstellungen aus.
- Maximieren Sie Audit und Logs und wählen Sie Auditeinstellungen aus.
- Aktivieren Sie unter Audit (Überprüfung) die folgenden Optionen:
- Prüfung starten: Aktiviert die Prüfung für die Umgebung.
- Protokollzugriff: Hier werden Nutzeranmeldungen erfasst.
- Logs lesen: Erfasst die meisten Nutzeraktivitäten und ‑ereignisse.
- Legen Sie die Aufbewahrungsrichtlinie für Audit-Logs entsprechend Ihren Anforderungen fest.
- Wählen Sie Speichern aus, um die Änderungen zu übernehmen.
Prüfung auf Tabellenebene aktivieren
- Melden Sie sich in Power Apps an und wählen Sie die Umgebung aus.
- Wählen Sie in der Befehlsleiste Einstellungen> Erweiterte Einstellungen aus.
- Gehen Sie zu den Einstellungen > „Anpassungen“ > „System anpassen“.
- Maximieren Sie im Navigationsbereich unter Komponenten die Option Entitäten und wählen Sie die zu prüfende Entität aus (z. B. Konto).
- Scrollen Sie nach unten zu Datendienste und aktivieren Sie das Kästchen Überprüfung.
- Aktivieren Sie unter Audit (Überprüfung) die folgenden Optionen:
- Auditing einzelner Datensätze. Einen Datensatz protokollieren, wenn er geöffnet wird.
- Prüfung mehrerer Datensätze. Alle auf einer geöffneten Seite angezeigten Datensätze protokollieren.
- Wählen Sie Speichern und dann Veröffentlichen aus.
- Wiederholen Sie die Schritte 4 bis 7 für jede Tabelle, die Sie prüfen möchten.
Weitere Informationen finden Sie unter Microsoft Dataverse and model-driven apps activity logging.
Azure Storage-Konto konfigurieren
Speicherkonto erstellen
- Suchen Sie im Azure-Portal nach Speicherkonten.
- Klicken Sie auf + Erstellen.
Geben Sie die folgenden Konfigurationsdetails an:
Einstellung Wert Abo Azure-Abo auswählen Ressourcengruppe Vorhandenen auswählen oder neuen erstellen Name des Speicherkontos Geben Sie einen eindeutigen Namen ein, z. B. secopsd365logs.Region Wählen Sie dieselbe Region wie für Ihre Dataverse-Umgebung aus. Leistung Standard (empfohlen) Redundanz GRS (georedundanter Speicher) oder LRS (lokal redundanter Speicher) Wählen Sie den Tab Erweitert aus und aktivieren Sie die Option Hierarchischer Namespace.
Klicken Sie auf Überprüfen + Erstellen.
Sehen Sie sich die Übersicht des Kontos an und klicken Sie auf Erstellen.
Warten Sie, bis die Bereitstellung abgeschlossen ist.
Anmeldedaten für das Speicherkonto abrufen
- Rufen Sie das Storage-Konto auf, das Sie gerade erstellt haben.
- Wählen Sie in der linken Navigationsleiste unter Sicherheit + Netzwerk die Option Zugriffsschlüssel aus.
- Klicken Sie auf Schlüssel anzeigen.
- Kopieren und speichern Sie Folgendes für die spätere Verwendung:
- Name des Speicherkontos:
secopsd365logs - Schlüssel 1 oder Schlüssel 2: Der gemeinsame Zugriffsschlüssel (ein 512-Bit-Zufallsstring in Base64-Codierung)
- Name des Speicherkontos:
Blob Service-Endpunkt abrufen
- Wählen Sie im selben Speicherkonto in der linken Navigationsleiste Endpunkte aus.
- Kopieren und speichern Sie die Endpunkt-URL des Blob-Dienstes.
- Beispiel:
https://secopsd365logs.blob.core.windows.net/
- Beispiel:
Speicherkontoberechtigungen gewähren
Gewähren Sie dem Power Platform-Administrator, der den Azure Synapse Link konfiguriert, die folgenden Berechtigungen:
- Wählen Sie im Speicherkonto im linken Bereich Zugriffssteuerung (IAM) aus.
- Klicken Sie auf + Hinzufügen> Rollenzuweisung hinzufügen.
- Weisen Sie dem Power Platform-Administrator die folgenden Rollen zu:
- Storage Blob Data Contributor
- Storage Blob-Dateninhaber
Azure Synapse Link für Dataverse konfigurieren
Mit Azure Synapse Link for Dataverse wird die Dataverse-Prüfungstabelle in Azure Data Lake Storage Gen2 exportiert, das mit Azure Blob Storage V2-Feeds kompatibel ist.
Azure Synapse-Arbeitsbereich erstellen
- Suchen Sie im Azure-Portal nach Synapse Analytics.
- Klicken Sie auf + Erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Abo: Wählen Sie das Abo aus, in dem Sie das Speicherkonto erstellt haben.
- Ressourcengruppe: Wählen Sie dieselbe Ressourcengruppe wie für das Speicherkonto aus.
- Workspace-Name: Geben Sie einen eindeutigen Namen ein, z. B.
synapse-d365-secops. - Region: Wählen Sie dieselbe Region wie für Ihre Dataverse-Umgebung aus.
- Storage-Kontoname: Wählen Sie das Storage-Konto aus, das Sie zuvor erstellt haben (
secopsd365logs). - Name des Dateisystems: Klicken Sie auf Neu erstellen und geben Sie einen Namen ein (z. B.
d365-audit).
- Klicken Sie auf Überprüfen + erstellen und dann auf Erstellen.
- Warten Sie, bis die Bereitstellung abgeschlossen ist.
Apache Spark-Pool erstellen
- Rufen Sie im Azure-Portal den von Ihnen erstellten Synapse-Arbeitsbereich auf.
- Klicken Sie auf + Neuer Apache Spark-Pool.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name des Apache Spark-Pools: Geben Sie einen Namen ein, z. B.
sparkpoold365. - Anzahl der Knoten: Geben Sie
5ein.
- Name des Apache Spark-Pools: Geben Sie einen Namen ein, z. B.
- Wählen Sie den Tab Zusätzliche Einstellungen aus und geben Sie
5für Anzahl der Minuten im Leerlauf ein. - Klicken Sie auf Überprüfen + erstellen und dann auf Erstellen.
Dataverse-Audittabelle mit Synapse-Arbeitsbereich verbinden
- Melden Sie sich in Power Apps an und wählen Sie die Umgebung mit Ihrer Dynamics 365-Bereitstellung aus.
- Wählen Sie im linken Navigationsbereich Azure Synapse Link aus. Wenn das Element nicht sichtbar ist, wählen Sie Mehr > Alle anzeigen aus und suchen Sie nach Azure Synapse Link.
- Klicken Sie auf Neue Verknüpfung.
- Auf der Seite Neue Verknüpfung:
- Wählen Sie die Option Mit Ihrem Azure Synapse Analytics-Arbeitsbereich verbinden aus.
- Abo: Wählen Sie das Azure-Abo aus.
- Ressourcengruppe: Wählen Sie die Ressourcengruppe aus, die den Synapse-Arbeitsbereich enthält.
- Speicherkonto: Wählen Sie das Speicherkonto (
secopsd365logs) aus. - Wählen Sie die Option Spark-Pool für Delta Lake-Datenkonvertierungsjob verwenden aus.
- Spark-Pool: Wählen Sie den von Ihnen erstellten Spark-Pool aus (
sparkpoold365). - Speicherkonto: Wählen Sie dasselbe Speicherkonto aus.
- Klicken Sie auf Weiter.
- Maximieren Sie den Tab Erweitert und geben Sie im Feld Zeitintervall den Wert
480Minuten ein. - Wählen Sie unter der Liste der Tabellen die Tabellen Auditing und User aus.
Klicken Sie auf Speichern.
Weitere Informationen finden Sie unter Zugriff auf Audit-Daten mit Azure Synapse Link und Power BI.
Feed in Google SecOps konfigurieren, um Microsoft Dynamics 365-Nutzeraktivitätslogs aufzunehmen
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B.
Microsoft Dynamics 365 User Activity. - Wählen Sie Microsoft Azure Blob Storage V2 als Quelltyp aus.
- Wählen Sie Microsoft Dynamics 365 als Log type (Protokolltyp) aus.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
- Azure-URI: Geben Sie die Blob Service-Endpunkt-URL mit dem Containerpfad ein:
https://secopsd365logs.blob.core.windows.net/d365-audit/Ersetzen Sie Folgendes:
secopsd365logs: Der Name Ihres Azure Storage-Kontos.d365-audit: Der Name des Dateisystems (Containers), der im Synapse-Arbeitsbereich konfiguriert ist.
- Option zum Löschen der Quelle: Wählen Sie die gewünschte Option zum Löschen aus:
- Nie: Löscht nach Übertragungen nie Dateien.
- Übertragene Dateien löschen: Dateien werden nach der erfolgreichen Übertragung gelöscht.
- Übertragene Dateien und leere Verzeichnisse löschen: Löscht Dateien und leere Verzeichnisse nach der erfolgreichen Übertragung.
- Höchstalter der Datei: Dateien einbeziehen, die in den letzten Tagen geändert wurden (Standardwert: 180 Tage)
- Gemeinsamer Schlüssel: Geben Sie den Wert des gemeinsamen Schlüssels (Zugriffsschlüssel) ein, den Sie zuvor aus dem Speicherkonto abgerufen haben.
- Asset-Namespace: Der Asset-Namespace
- Labels für Datenaufnahme: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
Azure Storage-Firewall konfigurieren (falls aktiviert)
Wenn für Ihr Azure Storage-Konto eine Firewall verwendet wird, müssen Sie die IP-Bereiche von Google SecOps hinzufügen.
- Rufen Sie im Azure-Portal Ihr Storage-Konto auf.
- Wählen Sie unter Sicherheit + Netzwerk die Option Netzwerk aus.
- Wählen Sie unter Firewalls und virtuelle Netzwerke die Option Aktiviert für ausgewählte virtuelle Netzwerke und IP-Adressen aus.
- Klicken Sie im Bereich Firewall unter Adressbereich auf + IP-Bereich hinzufügen.
Fügen Sie jeden Google SecOps-IP-Bereich in CIDR-Notation hinzu.
So rufen Sie die aktuellen IP-Bereiche ab:
- Dokumentation zum Zulassen von IP-Adressen
- Oder Sie rufen sie programmatisch mit der Feed Management API ab.
Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| BuildNumber | about.labels | „about_BuildNumber“ mit dem Schlüssel „BuildNumber“ und dem Wert aus „BuildNumber“ zusammengeführt, sofern nicht leer |
| RECORD_IDENTIFIER | additional.fields | Wird mit Labels zusammengeführt, die aus den jeweiligen Feldern erstellt wurden, sofern diese nicht leer sind. |
| LastProcessedChange_DateTime | additional.fields | |
| DataLakeModified_DateTime | additional.fields | |
| Application_Object_Server_node | additional.fields | |
| ClientType | additional.fields | |
| LogoutDateTime | additional.fields | |
| LOGOUTDATETIMETZID | additional.fields | |
| TerminatedOk | additional.fields | |
| Typ | additional.fields | |
| Lebend | additional.fields | |
| PARTITION | additional.fields | |
| has_user | metadata.event_type | Wird auf „GENERIC_EVENT“ und dann auf „USER_UNCATEGORIZED“ festgelegt, wenn „has_user“ auf „true“ gesetzt ist. Andernfalls wird es auf „STATUS_UPDATE“ festgelegt, wenn „has_principal“ auf „true“ gesetzt ist. |
| has_principal | metadata.event_type | |
| RECVERSION | metadata.product_version | Wert wird direkt kopiert, wenn er nicht leer ist |
| SessionId (Sitzungs-ID) | network.session_id | Wert wird direkt kopiert, wenn er nicht leer ist |
| LOG_SEQUENCE_NUMBER | security_result.detection_fields | Das Label „LOG_SEQUENCE_NUMBER_label“ wurde mit dem Schlüssel „LOG_SEQUENCE_NUMBER“ und dem Wert aus „LOG_SEQUENCE_NUMBER“ zusammengeführt, sofern dieser nicht leer ist. |
| UserId | target.user.userid | Wert wird direkt kopiert, wenn er nicht leer ist |
| timestamp | timestamp | Wird mit dem Datumsabgleich im ISO 8601- oder RFC 3339-Format geparst, sofern nicht leer. |
| metadata.product_name | metadata.product_name | Auf „MICROSOFT_DYNAMICS_365“ festgelegt |
| metadata.vendor_name | metadata.vendor_name | Auf „MICROSOFT_DYNAMICS_365“ festgelegt |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten