Microsoft Azure AD-Kontextprotokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Microsoft Azure Active Directory-Logs (AD) erfassen, indem Sie einen Google Security Operations-Feed einrichten.

Azure Active Directory (AZURE_AD) heißt jetzt Microsoft Entra ID. Azure AD-Audit-Logs (AZURE_AD_AUDIT) sind jetzt Microsoft Entra ID-Audit-Logs.

Weitere Informationen finden Sie unter Datenaufnahme in Google Security Operations.

Ein Erfassungslabel identifiziert den Parser, der Logrohdaten in das strukturierte UDM-Format normalisiert.

Hinweise

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  • Ein Azure-Abo, bei dem Sie sich anmelden können
  • Eine globale Administratorrolle oder eine Azure AD-Administratorrolle
  • Ein Azure AD-Mandant in Azure

Azure AD konfigurieren

  1. Melden Sie sich im Azure an.
  2. Gehen Sie zu Startseite > App-Registrierung, wählen Sie eine registrierte App aus oder registrieren Sie eine App, falls Sie noch keine erstellt haben.
  3. Klicken Sie zum Registrieren einer Anwendung im Abschnitt App-Registrierung auf Neue Registrierung.
  4. Geben Sie im Feld Name den Anzeigenamen für Ihre Anwendung ein.
  5. Wählen Sie im Abschnitt Unterstützte Kontotypen die erforderliche Option aus, um anzugeben, wer die Anwendung verwenden oder auf die API zugreifen kann.
  6. Klicken Sie auf Registrieren.
  7. Rufen Sie die Seite Übersicht auf und kopieren Sie die Anwendungs‑ (Client‑)‑ID und die Verzeichnis‑ (Mandanten‑)‑ID, die zum Konfigurieren des Google Security Operations-Feeds erforderlich sind.
  8. Klicken Sie auf API-Berechtigungen.
  9. Klicken Sie auf Berechtigung hinzufügen und wählen Sie im neuen Bereich Microsoft Graph aus.
  10. Klicken Sie auf Anwendungsberechtigungen.
  11. Wählen Sie die Berechtigungen AuditLog.Read.All, Directory.Read.All und SecurityEvents.Read.All aus. Die Berechtigungen müssen Anwendungsberechtigungen und nicht delegierte Berechtigungen sein.
  12. Klicken Sie auf Administratoreinwilligung für das Standardverzeichnis erteilen. Anwendungen dürfen APIs aufrufen, wenn ihnen im Rahmen des Einwilligungsverfahrens Berechtigungen von Nutzern oder Administratoren erteilt werden.
  13. Rufen Sie die Einstellungen > Verwalten auf.
  14. Klicken Sie auf Zertifikate und Secrets.
  15. Klicken Sie auf Neuer geheimer Clientschlüssel. Der Clientschlüssel wird im Feld Wert angezeigt.
  16. Kopieren Sie den Clientschlüsselwert. Der Wert wird nur bei der Erstellung angezeigt und ist für die Azure-App-Registrierung und die Konfiguration des Google Security Operations-Feeds erforderlich.

Feeds einrichten

Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:

  • SIEM-Einstellungen > Feeds
  • Content Hub> Content-Pakete

Feeds über die SIEM-Einstellungen > „Feeds“ einrichten

Informationen zum Konfigurieren mehrerer Feeds für verschiedene Logtypen in dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.

So konfigurieren Sie einen einzelnen Feed:

  1. Rufen Sie die SIEM-Einstellungen> Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Azure AD-Kontextprotokolle.
  5. Wählen Sie Drittanbieter-API als Quelltyp aus.
  6. Wählen Sie Azure AD-Organisationskontext als Logtyp aus.
  7. Klicken Sie auf Weiter.
  8. Konfigurieren Sie die folgenden obligatorischen Eingabeparameter:
    • OAUTH-Client-ID: Geben Sie die Client-ID an, die Sie zuvor abgerufen haben.
    • OAUTH-Clientschlüssel: Geben Sie den Clientschlüssel an, den Sie zuvor erhalten haben.
    • Mandanten-ID: Geben Sie die Mandanten-ID an, die Sie zuvor abgerufen haben.
  9. Klicken Sie auf Weiter und dann auf Senden.

Weitere Informationen zu Google Security Operations-Feeds finden Sie in der Dokumentation zu Google Security Operations-Feeds. Informationen zu den Anforderungen für die einzelnen Feedtypen finden Sie unter Feedkonfiguration nach Typ. Wenn beim Erstellen von Feeds Probleme auftreten, wenden Sie sich an den Google Security Operations-Support.

Feeds über den Content Hub einrichten

Geben Sie Werte für die folgenden Felder an:

  • OAUTH-Client-ID: Geben Sie die Client-ID an, die Sie zuvor abgerufen haben.
  • OAUTH-Clientschlüssel: Geben Sie den Clientschlüssel an, den Sie zuvor erhalten haben.
  • Mandanten-ID: Geben Sie die Mandanten-ID an, die Sie zuvor abgerufen haben.

Erweiterte Optionen

  • Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
  • Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
  • Asset-Namespace: Namespace, der dem Feed zugeordnet ist.
  • Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.

Referenz zur Feldzuordnung

Mit diesem Parsercode werden Rohlogs im JSON-Format aus Azure Active Directory in ein einheitliches Datenmodell (Unified Data Model, UDM) umgewandelt. Dabei werden Nutzer- und Managerinformationen wie Attribute, Rollen, Beziehungen und Labels extrahiert, verschiedene Dateninkonsistenzen behoben und die Ausgabe mit standardisierten Feldern angereichert.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
businessPhones user.phone_numbers Direkt aus dem Feld businessPhones im Rohlog zugeordnet. Mehrere Telefonnummern werden extrahiert und als separate Einträge zugeordnet.
Ort user.personal_address.city Direkt aus dem Feld city im Rohlog zugeordnet.
companyName user.company_name Direkt aus dem Feld companyName im Rohlog zugeordnet.
country user.personal_address.country_or_region Direkt aus dem Feld country im Rohlog zugeordnet. Wenn country leer ist, wird der Wert aus usageLocation übernommen.
createdDateTime user.attribute.creation_time Wird aus dem Feld createdDateTime im Rohlog mithilfe des RFC 3339-Formats in einen Zeitstempel konvertiert.
department user.department Direkt aus dem Feld department im Rohlog zugeordnet. Mehrere Abteilungen werden extrahiert und als separate Einträge zugeordnet.
displayName user.user_display_name Direkt aus dem Feld displayName im Rohlog zugeordnet.
employeeId user.employee_id Direkt aus dem Feld employeeId im Rohlog zugeordnet. Wenn employeeId leer ist, wird der Wert aus extension_employeeNumber übernommen.
employeeType user.attribute.labels.value (key: employeeType) Direkt aus dem Feld employeeType im Rohlog zugeordnet und als Label mit dem Schlüssel employeeType hinzugefügt.
extension_employeeNumber user.employee_id Wird user.employee_id zugeordnet, wenn employeeId leer ist.
extension_wfc_AccountType event.idm.entity.entity.labels.value (Schlüssel: wfc_AccountType) Direkt aus dem Feld extension_wfc_AccountType im Rohlog zugeordnet und als Label mit dem Schlüssel wfc_AccountType hinzugefügt.
extension_wfc_AccountingUnitName event.idm.entity.entity.labels.value (Schlüssel: extension_wfc_AccountingUnitName) Direkt aus dem Feld extension_wfc_AccountingUnitName im Rohlog zugeordnet und als Label mit dem Schlüssel extension_wfc_AccountingUnitName hinzugefügt.
extension_wfc_execDescription event.idm.entity.entity.labels.value (Schlüssel: extension_wfc_execDescription) Direkt aus dem Feld extension_wfc_execDescription im Rohlog zugeordnet und als Label mit dem Schlüssel extension_wfc_execDescription hinzugefügt.
extension_wfc_groupDescription event.idm.entity.entity.labels.value (key: extension_wfc_groupDescription) Direkt aus dem Feld extension_wfc_groupDescription im Rohlog zugeordnet und als Label mit dem Schlüssel extension_wfc_groupDescription hinzugefügt.
extension_wfc_orgDescription event.idm.entity.entity.labels.value (key: extension_wfc_orgDescription) Direkt aus dem Feld extension_wfc_orgDescription im Rohlog zugeordnet und als Label mit dem Schlüssel extension_wfc_orgDescription hinzugefügt.
givenName user.first_name Direkt aus dem Feld givenName im Rohlog zugeordnet.
gopher-devices event.idm.entity.relations Jedes Gerät im gopher-devices-Array wird einem separaten Relationseintrag zugeordnet. deviceId wird product_object_id zugeordnet, operatingSystem und operatingSystemVersion werden zu platform_version zusammengefasst, model wird direkt zugeordnet und createdDateTime wird in einen Zeitstempel umgewandelt und created_timestamp zugeordnet. Die Beziehung ist auf OWNS und die Richtung auf UNIDIRECTIONAL festgelegt.
gopher-groups event.idm.entity.relations Jede Gruppe im gopher-groups-Array wird einem separaten Relationseintrag zugeordnet. id wird product_object_id zugeordnet und displayName wird group_display_name zugeordnet. Die Beziehung ist auf MEMBER und die Richtung auf UNIDIRECTIONAL festgelegt.
gopher-manager.businessPhones empmanager.phone_numbers Wird empmanager.phone_numbers zugeordnet, wenn manager leer ist.
gopher-manager.country empmanager.personal_address.country_or_region Wird empmanager.personal_address.country_or_region zugeordnet, wenn manager leer ist. Wenn sowohl gopher-manager.country als auch gopher-manager.usageLocation leer sind, bleibt das Feld leer.
gopher-manager.department empmanager.department Wird empmanager.department zugeordnet, wenn manager leer ist.
gopher-manager.displayName empmanager.user_display_name Wird empmanager.user_display_name zugeordnet, wenn manager leer ist.
gopher-manager.employeeId empmanager.employee_id Wird empmanager.employee_id zugeordnet, wenn manager leer und gopher-manager.employeeId nicht leer ist.
gopher-manager.extension_employeeNumber empmanager.employee_id Wird empmanager.employee_id zugeordnet, wenn manager und gopher-manager.employeeId leer sind und gopher-manager.extension_employeeNumber nicht leer ist.
gopher-manager.givenName empmanager.first_name Wird empmanager.first_name zugeordnet, wenn manager leer ist.
gopher-manager.id empmanager.product_object_id Wird empmanager.product_object_id zugeordnet, wenn manager leer ist.
gopher-manager.jobTitle empmanager.title Wird empmanager.title zugeordnet, wenn manager leer ist.
gopher-manager.mail empmanager.email_addresses Wird empmanager.email_addresses zugeordnet, wenn manager leer ist.
gopher-manager.onPremisesImmutableId user.attribute.labels.value (key: gopher-manager onPremisesImmutableId) Als Label mit dem Schlüssel gopher-manager onPremisesImmutableId zugeordnet.
gopher-manager.onPremisesSamAccountName empmanager.userid Wird empmanager.userid zugeordnet, wenn manager leer ist.
gopher-manager.onPremisesSecurityIdentifier empmanager.windows_sid Wird empmanager.windows_sid zugeordnet, wenn manager leer ist.
gopher-manager.proxyAddresses empmanager.email_addresses, empmanager.group_identifiers Wenn manager leer ist, wird jede Adresse im gopher-manager.proxyAddresses-Array entweder empmanager.email_addresses oder empmanager.group_identifiers zugeordnet, je nachdem, ob sie mit „smtp“ oder „SMTP“ beginnt.
gopher-manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value (key: refreshTokensValidFromDateTime) Wird als Label mit dem Schlüssel refreshTokensValidFromDateTime zugeordnet, wenn manager leer ist.
gopher-manager.streetAddress empmanager.personal_address.name Wird empmanager.personal_address.name zugeordnet, wenn manager leer ist.
gopher-manager.surname empmanager.last_name Wird empmanager.last_name zugeordnet, wenn manager leer ist.
gopher-manager.usageLocation user.attribute.labels.value (key: manager_src_usageLocation) Als Label mit dem Schlüssel manager_src_usageLocation zugeordnet.
gopher-manager.userType empmanager.attribute.roles.name Wird empmanager.attribute.roles.name zugeordnet, wenn manager leer ist.
id user.product_object_id Direkt aus dem Feld id im Rohlog zugeordnet.
Identitäten user.attribute.labels.value (key: signInType), user.attribute.labels.value (key: userPrincipalName) signInType wird als Label mit dem Schlüssel signInType zugeordnet. Wenn signInType und userPrincipalName nicht leer sind, werden sie kombiniert und als Label mit dem Schlüssel userPrincipalName zugeordnet.
jobTitle user.title Direkt aus dem Feld jobTitle im Rohlog zugeordnet.
mail user.email_addresses Direkt aus dem Feld mail im Rohlog zugeordnet. Wenn mail mit „svc-“ beginnt, wird user_role.type auf SERVICE_ACCOUNT festgelegt.
mailNickname user.attribute.labels.value (Schlüssel: mailNickname) Direkt aus dem Feld mailNickname im Rohlog zugeordnet und als Label mit dem Schlüssel mailNickname hinzugefügt.
manager.businessPhones empmanager.phone_numbers Wird empmanager.phone_numbers zugeordnet, wenn gopher-manager leer ist.
manager.city empmanager.personal_address.city Wird empmanager.personal_address.city zugeordnet, wenn gopher-manager leer ist.
manager.companyName empmanager.company_name Wird empmanager.company_name zugeordnet, wenn gopher-manager leer ist.
manager.country empmanager.personal_address.country_or_region Wird empmanager.personal_address.country_or_region zugeordnet, wenn gopher-manager leer ist. Wenn sowohl manager.country als auch manager.usageLocation leer sind, bleibt das Feld leer.
manager.department empmanager.department Wird empmanager.department zugeordnet, wenn gopher-manager leer ist.
manager.displayName empmanager.user_display_name Wird empmanager.user_display_name zugeordnet, wenn gopher-manager leer ist.
manager.employeeId empmanager.employee_id Wird empmanager.employee_id zugeordnet, wenn gopher-manager leer und manager.employeeId nicht leer ist.
manager.extension_employeeNumber empmanager.employee_id Wird empmanager.employee_id zugeordnet, wenn gopher-manager und manager.employeeId leer sind und manager.extension_employeeNumber nicht leer ist.
manager.givenName empmanager.first_name Wird empmanager.first_name zugeordnet, wenn gopher-manager leer ist.
manager.id empmanager.product_object_id Wird empmanager.product_object_id zugeordnet, wenn gopher-manager leer ist.
manager.jobTitle empmanager.title Wird empmanager.title zugeordnet, wenn gopher-manager leer ist.
manager.mail empmanager.email_addresses Wird empmanager.email_addresses zugeordnet, wenn gopher-manager leer ist.
manager.onPremisesSamAccountName empmanager.userid Wird empmanager.userid zugeordnet, wenn gopher-manager leer ist.
manager.onPremisesSecurityIdentifier empmanager.windows_sid Wird empmanager.windows_sid zugeordnet, wenn gopher-manager leer ist.
manager.proxyAddresses empmanager.email_addresses, empmanager.group_identifiers Wenn gopher-manager leer ist, wird jede Adresse im manager.proxyAddresses-Array entweder empmanager.email_addresses oder empmanager.group_identifiers zugeordnet, je nachdem, ob sie mit „smtp“ oder „SMTP“ beginnt.
manager.refreshTokensValidFromDateTime empmanager.attribute.labels.value (key: refreshTokensValidFromDateTime) Wird als Label mit dem Schlüssel refreshTokensValidFromDateTime zugeordnet, wenn gopher-manager leer ist.
manager.state empmanager.personal_address.state Wird empmanager.personal_address.state zugeordnet, wenn gopher-manager leer ist.
manager.streetAddress empmanager.personal_address.name Wird empmanager.personal_address.name zugeordnet, wenn gopher-manager leer ist.
manager.surname empmanager.last_name Wird empmanager.last_name zugeordnet, wenn gopher-manager leer ist.
manager.usageLocation user.attribute.labels.value (key: manager_src_usageLocation), empmanager.personal_address.country_or_region Als Label mit dem Schlüssel manager_src_usageLocation zugeordnet. Wenn manager.country leer ist, wird der Wert auch empmanager.personal_address.country_or_region zugeordnet.
manager.userType empmanager.attribute.roles.name Wird empmanager.attribute.roles.name zugeordnet, wenn gopher-manager leer ist.
onPremisesDistinguishedName user.attribute.labels.value (key: onPremisesDistinguishedName), user.attribute.labels.value (key: onPremisesDistinguishedName-OU data) Der vollständige Distinguished Name wird als Label mit dem Schlüssel onPremisesDistinguishedName zugeordnet. Der OU-Teil des definierten Namens wird extrahiert und als Label mit dem Schlüssel onPremisesDistinguishedName-OU data zugeordnet. Wenn der OU-Teil „Admin“ enthält, wird user_role.type auf ADMINISTRATOR festgelegt. Wenn es „Service Accounts“ enthält, ist user_role.type auf SERVICE_ACCOUNT festgelegt.
onPremisesDomainName user.group_identifiers, user.attribute.labels.value (key: onPremisesDomainName) Direkt user.group_identifiers zugeordnet und als Label mit dem Schlüssel onPremisesDomainName hinzugefügt.
onPremisesImmutableId user.attribute.labels.value (key: onPremisesImmutableId) Direkt aus dem Feld onPremisesImmutableId im Rohlog zugeordnet und als Label mit dem Schlüssel onPremisesImmutableId hinzugefügt.
onPremisesSamAccountName user.userid, user.attribute.labels.value (key: onPremisesSamAccountName) Wird user.userid zugeordnet, wenn sAMAccountName leer ist. Wird auch als Label mit dem Schlüssel onPremisesSamAccountName hinzugefügt.
onPremisesSecurityIdentifier user.windows_sid Direkt aus dem Feld onPremisesSecurityIdentifier im Rohlog zugeordnet.
proxyAddresses user.email_addresses, user.group_identifiers Jede Adresse im proxyAddresses-Array wird entweder user.email_addresses oder user.group_identifiers zugeordnet, je nachdem, ob sie mit „smtp“ oder „SMTP“ beginnt. Wenn die Adresse mit „smtp“ oder „SMTP“ beginnt, wird das Präfix „smtp:“ oder „SMTP:“ entfernt und die verbleibende E‑Mail-Adresse wird extrahiert und user.email_addresses zugeordnet.
refreshTokensValidFromDateTime user.attribute.labels.value (key: refreshTokensValidFromDateTime) Direkt aus dem Feld refreshTokensValidFromDateTime im Rohlog zugeordnet und als Label mit dem Schlüssel refreshTokensValidFromDateTime hinzugefügt.
sAMAccountName user.userid Direkt aus dem Feld sAMAccountName im Rohlog zugeordnet.
state user.personal_address.state Direkt aus dem Feld state im Rohlog zugeordnet.
streetAddress user.personal_address.name Direkt aus dem Feld streetAddress im Rohlog zugeordnet.
surname user.last_name Direkt aus dem Feld surname im Rohlog zugeordnet.
usageLocation user.personal_address.country_or_region Wenn country leer ist, wird der Wert user.personal_address.country_or_region zugeordnet.
userPrincipalName user.email_addresses Direkt aus dem Feld userPrincipalName im Rohlog zugeordnet. Wenn userPrincipalName mit „svc-“ beginnt, wird user_role.type auf SERVICE_ACCOUNT festgelegt.
userType user.attribute.roles.name Direkt aus dem Feld userType im Rohlog zugeordnet und user.attribute.roles.name hinzugefügt.
Parser-Logik UDM-Zuordnung Logik
event.idm.entity.metadata.vendor_name Legen Sie diesen Wert auf „Microsoft“ fest.
event.idm.entity.metadata.product_name Auf „Azure Active Directory“ festgelegt.
event.idm.entity.metadata.entity_type Legen Sie diesen Wert auf „USER“ fest.
event.idm.entity.metadata.collected_timestamp Auf das Feld create_time aus dem Rohlog gesetzt.
accountEnabled user.user_authentication_status, user.attribute.labels.value (key: accountEnabled) Wenn accountEnabled „true“ ist, wird user.user_authentication_status auf „ACTIVE“ gesetzt und ein Label mit dem Schlüssel accountEnabled und dem Wert „true“ wird hinzugefügt. Andernfalls wird ein Label mit dem Schlüssel accountEnabled und dem Wert „false“ hinzugefügt.
empmanager-src.accountEnabled user.user_authentication_status, user.attribute.labels.value (key: accountEnabled) Wenn manager leer und empmanager-src.accountEnabled „true“ ist, wird user.user_authentication_status auf „ACTIVE“ gesetzt und ein Label mit dem Schlüssel accountEnabled und dem Wert „true“ wird hinzugefügt. Andernfalls wird ein Label mit dem Schlüssel accountEnabled und dem Wert „false“ hinzugefügt.
onPremisesDistinguishedName user_role.type Wenn der OU-Teil des definierten Namens „Admin“ enthält, wird user_role.type auf ADMINISTRATOR festgelegt. Wenn es „Service Accounts“ enthält, ist user_role.type auf SERVICE_ACCOUNT festgelegt.
userPrincipalName user_role.type Wenn userPrincipalName mit „svc-“ beginnt, wird user_role.type auf SERVICE_ACCOUNT festgelegt.
empmanager-src.onPremisesDistinguishedName manager_role.type Wenn gopher-manager leer ist und der OU-Teil des Distinguished Name des Administrators „Users“ enthält, wird manager_role.type auf ADMINISTRATOR festgelegt. Wenn es „Service Accounts“ enthält, ist manager_role.type auf SERVICE_ACCOUNT festgelegt.
empmanager-src.userPrincipalName manager_role.type Wenn gopher-manager leer ist und empmanager-src.userPrincipalName mit „svc-“ beginnt, wird manager_role.type auf SERVICE_ACCOUNT festgelegt.
mail user_role.type Wenn mail mit „svc-“ beginnt, wird user_role.type auf SERVICE_ACCOUNT festgelegt.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten