O365 Management API

Integration version: 9.0

Use Cases

Get activity events from Microsoft 365.

Configure O365 Management API to work with Google Security Operations

Product Permission

For more information, seeGet started with Office 365 Management APIs.

Before you can access data through the Office 365 Management Activity APIs, youmust enable unified audit logging for your Office 365 organization. You do thisby turning on the Office 365 audit log. For instructions, seeTurn auditing on or off.

As for account configuration, procedure is similar to other Azure-based products(Defender, Sentinel etc). You need to register an app in Azure ActiveDirectory and give it the following permissions:

  • DelegatedUser.Read permissions from Microsoft Graph
  • ApplicationActivityFeed.ReadDlp permissions from Office 365 Management Activity APIs

Configure O365 Management API integration in Google SecOps

For detailed instructions on how to configure an integration inGoogle SecOps, seeConfigureintegrations.

Integration parameters

Use the following parameters to configure the integration:

Parameter Display NameTypeDefault ValueIs MandatoryDescription
Instance NameStringN/ANoName of the Instance you intend to configure integration for.
DescriptionStringN/ANoDescription of the Instance.
Api RootStringhttps://manage.office.comYesApi root url to use with integration.
Azure Active Directory IDStringN/AYesAzure Active Directory Tenant ID, can be viewed in Active Directory > App Registration > <Application you configured for your integration> Directory (tenant) ID. Example: k48f52ca-0000-4708-8ed0-0000a20a40a
Client IDStringN/AYesClient (Application) ID that was added for the app registration in Azure Active Directory for this integration. Eg, 29bf818e-0000-0000-0000-784fb644178d
Client SecretPasswordN/ANoSecret that was entered for Azure AD app registration. Example: XF00000Qc0000000[UZSW7-0?qXb6Qx]
Verify SSLCheckboxCheckedYesSpecify whether remote API endpoint SSL certificate should be validated.
Run RemotelyCheckboxUncheckedNoCheck the field in order to run the configured integration remotely. Once checked, the option appears to select the remote user (agent).
Certificate PathStringN/ANoIf authentication based on certificates is used instead of client secret, specify path to the certificate on Google SecOps server.
Certificate PasswordPasswordN/ANoOptional, if certificate is password-protected, specify the password to open the certificate file.
OAUTH2 Login Endpoint UrlStringhttps://login.microsoftonline.comYesSpecify the URL connector that should be used for OAUTH2 Login Endpoint Url.
Note: You can make changes at a later stage if needed. Once configured, theInstances can be used in Playbooks. For detailed information on configuring andsupporting multiple instances, please seeSupporting multiple instances.

Actions

Ping

Description

Test connectivity to the O365 Management API service with parameters provided atthe integration configuration page in the Google Security Operations Marketplace tab.

Parameters

N/A

Run On

This action runs on all entities.

Action Results

Script Result
Script Result NameValue OptionsExample
successTrue/Falsesuccess:False
Case Wall
Result TypeValue / DescriptionType
Output message*

The action should not fail nor stop a playbook execution:

  • if successful: print "Successfully connected to the O365 Management API with the provided connection parameters!"

The action should fail and stop a playbook execution:

  • if critical error, like wrong credentials or lost connectivity: print "Failed to connect to the O365 Management API! Error is {0}".format(exception.stacktrace)
General

Start a Subscription

Description

Start a subscription to a chosen Office 365 Management API content type.

Parameters

Parameter Display NameTypeDefault ValueIs MandatoryDescription
Start a Subscription forDDLSelect content type, Audit.GeneralYesSpecify for which content type to start a subscription.

Run On

This action runs on all entities.

Action Results

Script Result
Script Result NameValue OptionsExample
is_successTrue/Falseis_success:False
Case Wall
Result TypeValue / DescriptionType
Output message*

The action should not fail nor stop a playbook execution:

  • if successful: print "Successfully created O365 Management API subscription for the {0} content type!".format(content_type)

The action should fail and stop a playbook execution:

  • if critical error, like wrong credentials or lost connectivity: print "Failed to execute command! Error is {0}".format(exception.stacktrace)
General

Stop a Subscription

Description

Stop a subscription to a chosen Office 365 Management API content type.

Note: When a subscription is stopped, you will no longer receive notificationsand you will not be able to retrieve available content. If the subscription islater restarted, you will have access to new content from that point forward.You will not be able to retrieve content that was available between the time thesubscription was stopped and restarted.

Parameters

Parameter Display NameTypeDefault ValueIsMandatoryDescription
Stop a Subscription forDDLSelect content type, Audit.GeneralYesSpecify for which content type to stop a subscription.

Run On

This action doesn't run on entities.

Action Results

Script Result
Script Result NameValue OptionsExample
is_successTrue/Falseis_success:False
Case Wall
Result TypeValue / DescriptionType
Output message*

The action should not fail nor stop a playbook execution:

  • if successful: print "Successfully stopped O365 Management API subscription for the {0} content type!".format(content_type)

The action should fail and stop a playbook execution:

  • if critical error, like wrong credentials or lost connectivity: print "Failed to connect to execute command! Error is {0}".format(exception.stacktrace)
General

Connectors

Configure Office 365 Management API connectors in Google SecOps

For detailed instructions on how to configure a connector inGoogle SecOps, seeConfiguring theconnector.

To configure the selected connector use the connector-specific parameters listedin the following tables:

Office 365 Management API DLP Events Connector

Description

Fetch DLP events from Office 365 Management API.

Connector parameters

Use the following parameters to configure the connector:

Parameter Display NameTypeDefault ValueIs MandatoryDescription
Product Field NameStringProduct NameYesEnter the source field name in order to retrieve the Product Field name.
Event Field NameStringOperationYesEnter the source field name in order to retrieve the Event Field name.
Environment Field NameString""No

Describes the name of the field where the environment name is stored.

If the environment field isn't found, the environment is the default environment.

Environment Regex PatternString.*No

A regex pattern to run on the value found in the "Environment Field Name" field.

Default is .* to catch all and return the value unchanged.

Used to allow the user to manipulate the environment field via regex logic.

If the regex pattern is null or empty, or the environment value is null, the final environment result is the default environment.

Script Timeout (Seconds)Integer180YesTimeout limit for the python process running the current script.
Api RootStringhttps://manage.office.comYesApi root url to use with integration.
Azure Active Directory IDStringN/AYesAzure Active Directory Tenant ID, can be viewed in Active Directory > App Registration > <Application you configured for your integration> Directory (tenant) ID. Example: k48f52ca-0000-4708-8ed0-0000a20a40a
Client IDStringN/AYesClient (Application) ID that was added for the app registration in Azure Active Directory for this integration. Example: 29bf818e-0000-0000-0000-784fb644178d
Client SecretPasswordN/ANoSecret that was entered for Azure AD app registration. Example: XF00000Qc0000000[UZSW7-0?qXb6Qx]
Verify SSLCheckboxCheckedYesSpecify whether remote API endpoint SSL certificate should be validated.
Type of Operation FilterStringN/ANoThe following operation types are available for DLP events: DlpRuleMatch, DlpRuleUndo, DlpInfo. Parameter works as a blacklist. By default if nothing is specified in this parameter - ingest all possible operation types. If operation type is specified in this parameter - event with this operation type will not be ingested. Parameter accepts multiple values as a comma separated string.
Type of Policy FilterStringN/ANoParameter can be used to specify policy name that if present in event, event will not be ingested. Parameter works as a blacklist. By default if nothing is specified - ingest all possible policy types. Parameter accepts multiple values as a comma separated string.
Mask findings?CheckboxUncheckedNoSpecify whether the connector should mask sensitive findings that triggered DLP policies hits.
Max events to fetchInteger50YesHow many events to process per one connector iteration.
Fetch Max Hours BackwardsInteger8YesAmount of hours from where to fetch events. Note that O365 Management API allows to return events for the last 7 days, not older.
Fetch Backwards Time Interval (minutes)Integer240YesTime interval connector should use to fetch events from max hours backwards. If O365 tenant is busy, it could return a lot of event blobs. Because of this, this parameter in minutes can be used to split max hours backwards on smaller segments and process them individually. Time interval can't be bigger than 24 hours in total.
Events Padding Period (minutes)Integer60YesEvent Padding Period in minutes specifies a minimum time interval that will be used by connector to check new events.
Use whitelist as a blacklistCheckboxUncheckedYesIf enabled, whitelist will be used as a blacklist.
Proxy Server AddressStringNoThe address of the proxy server to use.
Proxy UsernameStringNoThe proxy username to authenticate with.
Proxy PasswordPasswordNoThe proxy password to authenticate with.
Certificate PathStringNoIf authentication based on certificates is used instead of client secret, specify path to the certificate on Google SecOps server.
Certificate PasswordPasswordNoOptional, if certificate is password-protected, specify the password to open the certificate file.
OAUTH2 Login Endpoint UrlStringhttps://login.microsoftonline.comYesSpecify the url connector should use for OAUTH2 Login Endpoint Url

Connector rules

Whitelist / Blacklist

The connector has whitelist/blacklist support.

Proxy support

The connector supports proxy.

Office 365 Management API Audit General Events Connector

Description

Fetch Audit.General events from Office 365 Management API. Please make sure thatfirst you enabled subscription for Audit.General events by running "Start aSubscription" action.

For Office 365 Management API Audit General Events Connector the followingpermissions are required:

  • DelegatedUser.Read,email, andprofile permissions from Microsoft Graph
  • ApplicationActivityFeed.ReadDlp andActivityFeed.Read permissions from Office 365 Management Activity APIs

Connector parameters

Use the following parameters to configure the connector:

Parameter Display NameTypeDefault ValueIs MandatoryDescription
Product Field NameStringProduct NameYesEnter the source field name in order to retrieve the Product Field name.
Event Field NameStringOperationYesEnter the source field name in order to retrieve the Event Field name.
Environment Field NameString""No

Describes the name of the field where the environment name is stored.

If the environment field isn't found, the environment is the default environment.

Environment Regex PatternString.*No

A regex pattern to run on the value found in the "Environment Field Name" field.

Default is .* to catch all and return the value unchanged.

Used to allow the user to manipulate the environment field via regex logic.

If the regex pattern is null or empty, or the environment value is null, the final environment result is the default environment.

Script Timeout (Seconds)Integer180YesTimeout limit for the python process running the current script.
Api RootStringhttps://manage.office.comYesApi root url to use with integration.
Azure Active Directory IDStringN/AYesAzure Active Directory Tenant ID, can be viewed in Active Directory > App Registration > <Application you configured for your integration> Directory (tenant) ID. Example: k48f52ca-0000-4708-8ed0-0000a20a40a
Client IDStringN/AYesClient (Application) ID that was added for the app registration in Azure Active Directory for this integration. Example: 29bf818e-0000-0000-0000-784fb644178d
Client SecretPasswordN/ANoSecret that was entered for Azure AD app registration. Example: XF00000Qc0000000[UZSW7-0?qXb6Qx]
Certificate PathStringN/ANoIf authentication based on certificates is used instead of client secret, specify path to the certificate on Google SecOps server.
Certificate PasswordPaswordN/ANoOptional, if certificate is password-protected, specify the password to open the certificate file.
OAUTH2 Login Endpoint UrlStringhttps://login.microsoftonline.comNoSpecify the url connector should use for OAUTH2 Login Endpoint Url
Verify SSLCheckboxCheckedYesSpecify whether remote API endpoint SSL certificate should be validated.
Type of Operation FilterStringN/ANoIn audit.general schema there could be different operation types:SearchAirBatch, SearchCustomTag and so on. By default if nothing is specified in this parameter - ingest all possible operation types. If operation type is specified in this parameter - event with this operation type will not be ingested. Parameter accepts multiple values as a comma separated string.
Status FilterStringN/ANoParameter can be used to specify status that if present in event, event will not be ingested. Parameter works as a blacklist. By default if nothing is specified - ingest all possible status types. Parameter accepts multiple values as a comma separated string.
Use operation and status filters as whitelistCheckboxUncheckedYesIf enabled, operation and status filters will work as a whitelist, by default it's a blacklist.
Entity Keys to Create Additional EventsCSVN/ANoSpecify keys that if seen in the Audit.General entities section of data, related subsection should be taken to create an additional Google SecOps event.
Max events to fetchInteger50YesHow many events to process per one connector iteration.
Fetch Max Hours BackwardsInteger8YesAmount of hours from where to fetch events. Note that O365 Management API allows to return events for the last 7 days, not older.
Fetch Backwards Time Interval (minutes)Integer240YesTime interval connector should use to fetch events from max hours backwards. If O365 tenant is busy, it could return a lot of event blobs. Because of this, this parameter in minutes can be used to split max hours backwards on smaller segments and process them individually. Time interval can't be bigger than 24 hours in total.
Events Padding Period (minutes)Integer60YesEvent Padding Period in minutes specifies a minimum time interval that will be used by connector to check new events.
Use whitelist as a blacklistCheckboxUncheckedYesIf enabled, whitelist will be used as a blacklist.
Proxy Server AddressStringNoThe address of the proxy server to use.
Proxy UsernameStringNoThe proxy username to authenticate with.
Proxy PasswordPasswordNoThe proxy password to authenticate with.

Connector rules

Whitelist / Blacklist

The connector has whitelist/blacklist support.

Proxy support

The connector supports proxy.

Need more help?Get answers from Community members and Google SecOps professionals.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-02-19 UTC.