Microsoft Entra ID Audit Logs

Connecting Microsoft Entra ID Audit logs to your Panther Console

Overview

Panther supports ingesting Microsoft Entra ID (previously "Azure Active Directory") Audit logs via common Data Transport options, like Azure Blob storage.

How to onboard Microsoft Entra ID Audit logs to Panther

You'll first create an Azure Blob Storage source in Panther, then configure Azure to export logs to that location.

Step 1: Create the Microsoft Entra ID source in Panther

  1. In the lefthand navigation bar of your Panther Console, click Configure > Log Sources.

  2. Click Create New.

  3. Search for “Microsoft Entra ID Audit” then click its tile.

    • In the slide-out panel, the Transport Mechanism dropdown in the upper-right corner will be pre-populated with the Azure Blob Storage option.

  4. Click Start Setup.

  5. Follow Panther's instructions for configuring an Azure Blob Storage Source.

Step 2: Export Microsoft Entra ID Audit logs to Azure Blob storage

To export Microsoft Entra ID Audit logs to a Blob storage container:

  1. Sign in to your Azure dashboard.

  2. Navigate to the Microsoft Entra ID service.

  3. In the left-hand panel, click Audit logs.

  4. Click Add Diagnostic Setting.

  5. On the Diagnostic setting page, set the following values:

    • Diagnostic setting name: Enter a descriptive name.

    • Categories (under Logs): Select the following checkboxes:

      • AuditLogs

      • SignInLogs

      • NonInteractiveUserSignInLogs

      • ServicePrincipalSignInLogs

      • ManagedIdentitySignInLogs

    • Destination details: Select the Archive to a storage account checkbox, then select your destination Storage account.

  6. In the upper left corner, click Save.

    • Audit and sign-in logs will now be saved to a Blob container in your storage account.

Step 3: Add role assignment to container

  1. Click on your newly created container, then in the left-hand navigation bar, click Access Control (IAM).

  2. Click Add Role Assignment.

  3. Click on the Members tab.

  4. Click +Select Members.

  5. Search for the name of the registered app you created during the Create required Azure infrastructure process on Azure Blob Storage Source, and click Select.

  6. Click Review+Assign.

Panther-managed detections

See Panther-managed rules for Azure in the panther-analysis GitHub repository.

Supported log types

Panther supports Microsoft Entra ID audit and sign-in logs which are handled by the Azure.Audit schema.

Azure.Audit

These are audit logs in the Microsoft Entra ID. For more information, see Microsoft's documentation on audit logs.

schema: Azure.Audit
description: Audit logs from Azure Active Directory
referenceURL: https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/concept-audit-logs
fields:
  - name: Level
    required: true
    type: bigint
  - name: callerIpAddress
    required: true
    type: string
    indicators:
      - ip
  - name: category
    required: true
    type: string
  - name: correlationId
    required: true
    type: string
  - name: durationMs
    required: true
    type: bigint
  - name: identity
    required: true
    type: string
  - name: operationName
    required: true
    type: string
  - name: operationVersion
    required: true
    type: float
  - name: properties
    required: true
    type: object
    fields:
      - name: activityDateTime
        required: true
        type: timestamp
        timeFormats:
          - rfc3339
      - name: activityDisplayName
        required: true
        type: string
      - name: additionalDetails
        required: true
        type: array
        element:
          type: object
          fields:
            - name: key
              required: true
              type: string
            - name: value
              required: true
              type: string
      - name: category
        required: true
        type: string
      - name: correlationId
        required: true
        type: string
      - name: id
        required: true
        type: string
      - name: initiatedBy
        required: true
        type: object
        fields:
          - name: app
            required: true
            type: object
            fields:
              - name: displayName
                required: true
                type: string
              - name: servicePrincipalId
                required: true
                type: string
      - name: loggedByService
        required: true
        type: string
      - name: operationType
        required: true
        type: string
      - name: result
        required: true
        type: string
      - name: resultReason
        required: true
        type: string
      - name: targetResources
        required: true
        type: array
        element:
          type: object
          fields:
            - name: displayName
              required: true
              type: string
            - name: id
              required: true
              type: string
            - name: modifiedProperties
              required: true
              type: array
              element:
                type: object
                fields:
                  - name: oldValue
                    type: string
                  - name: displayName
                    required: true
                    type: string
                  - name: newValue
                    required: true
                    type: string
            - name: type
              required: true
              type: string
  - name: resourceId
    required: true
    type: string
  - name: resultSignature
    required: true
    type: string
  - name: tenantId
    required: true
    type: string
  - name: time
    required: true
    type: timestamp
    timeFormats:
      - rfc3339

Last updated