Microsoft Azure AD-Kontextprotokolle erfassen
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
- Melden Sie sich im Azure an.
- Gehen Sie zu Startseite > App-Registrierung, wählen Sie eine registrierte App aus oder registrieren Sie eine App, falls Sie noch keine erstellt haben.
- Klicken Sie zum Registrieren einer Anwendung im Abschnitt App-Registrierung auf Neue Registrierung.
- Geben Sie im Feld Name den Anzeigenamen für Ihre Anwendung ein.
- Wählen Sie im Abschnitt Unterstützte Kontotypen die gewünschte Option aus, um anzugeben, wer die Anwendung verwenden oder auf die API zugreifen kann.
- Klicken Sie auf Registrieren.
- 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.
- Klicken Sie auf API-Berechtigungen.
- Klicken Sie auf Berechtigung hinzufügen und wählen Sie im neuen Bereich Microsoft Graph aus.
- Klicken Sie auf Anwendungsberechtigungen.
- 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.
- Klicken Sie auf Administratoreinwilligung für Standardverzeichnis erteilen. Anwendungen dürfen APIs aufrufen, wenn ihnen im Rahmen des Einwilligungsverfahrens Berechtigungen von Nutzern oder Administratoren erteilt werden.
- Rufen Sie die Einstellungen > Verwalten auf.
- Klicken Sie auf Zertifikate und Secrets.
- Klicken Sie auf Neuer geheimer Clientschlüssel. Der Clientschlüssel wird im Feld Wert angezeigt.
- 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 > Neu hinzufügen
- Content Hub > Content-Packs > Erste Schritte
Microsoft Azure AD-Kontextfeed einrichten
- Klicken Sie auf das Paket Azure-Plattform.
- Suchen Sie nach dem Protokolltyp Azure AD Organizational Context (Azure AD-Organisationskontext).
Geben Sie Werte für die folgenden Felder an:
- Source Type (Quelltyp): Third party API (Drittanbieter-API) (empfohlen)
- 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 abgerufen haben.
- Mandanten-ID: Geben Sie die Mandanten-ID an, die Sie zuvor abgerufen haben.
- Geräte abrufen: Gibt an, ob Geräteinformationen im Nutzerkontext abgerufen werden sollen.
- Gruppen abrufen: Gibt an, ob Informationen zur Gruppenmitgliedschaft im Nutzerkontext abgerufen werden sollen.
- API-Vollpfad: Microsoft Graph REST API-Endpunkt-URL.
- API-Authentifizierungsendpunkt: Microsoft Active Directory-Authentifizierungsendpunkt.
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Asset-Namespace: Namespace, der dem Feed zugeordnet ist.
- Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
Klicken Sie auf Feed erstellen.
Weitere Informationen zum Konfigurieren mehrerer Feeds für verschiedene Logtypen in dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.
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.
Referenz zur Feldzuordnung
Mit diesem Parsercode werden Rohlogs im JSON-Format aus Azure Active Directory in ein einheitliches Datenmodell (Unified Data Model, UDM) umgewandelt. Es werden Nutzer- und Managerinformationen extrahiert, darunter Attribute, Rollen, Beziehungen und Labels. Dabei werden verschiedene Dateninkonsistenzen berücksichtigt und die Ausgabe wird 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. |
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. |
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