Microsoft 365 Exchange Online Management

This configuration is only required if you are using Dropzone AI to analyze Quarantined Emails in Microsoft Defender for Office 365.

To enable Office 365 Exchange Online Management, you must first install Dropzone Certificate Credentials.

Some Dropzone actions use x509 certificate based authentication, for example retrieving quarantined emails during phishing analysis. In this section we will set up the Dropzone certificate as trusted by Microsoft.

Each Dropzone tenant uses a unique Dropzone certificate for maximum security.

  • Navigate to your Dropzone AI tenant home page e.g. https://mycompany.dropzone.app

  • In the bottom left hand corner, click Settings > Integrations

Integrations Dropdown
  • Click "Available"

Click Available
  • In the Search bar, search MS 365/Defender, then click "Configure"

  • Under "Connection", click "mycompany.dropzone.app.crt" and download the file

Download your Dropzone certificate
  • Return to the Application Overview for your new application

  • In the left side bar, click "Certificates & Secrets"

Certificates & Secrets
  • Navigate to Certificates, then click "Upload Certificate"

Upload Certificate
  • Select the certificate file you downloaded from the Dropzone UI earlier

  • For description, use "Dropzone AI"

Upload Certificate File

You should now see the certificate in the UI, including a 'thumbprint' (a cryptographic hash of the certificate.)

Certificate installed

Once you have installed your Dropzone credentials, you may assign the Office 365 Exchange Online Management permissions. To do so, do the following:

  • In the left sidebar, return the API permissions page

  • Click "Add a permission"

  • Select "APIs my organization uses"

  • Type "Office 365 Exchange Online" in the search bar

Office 365 Exchange Online
  • Click "Application permissions"

Add the following permissions:

Permission
Purpose

Exchange.ManageAsApp

Read file details

  • Once done selecting all the permissions, click "Add permissions"

  • Click "Grant admin consent for [mycompany.net]"

  • Click "Yes"

Create and Authorize Service Account

Next we need to run PowerShell commands to grant permissions. You may use whatever PowerShell environment you prefer. The examples below were performed using Azure's interactive Cloud Shell. You may find some of the Microsoft Azure Documentation useful.

Azure Cloud Shell Icon
  • Connect to Entra ID and get information about the application we configured. The value for the -AppID parameter is the "Application (Client) ID" you recorded earlier

    PowerShell 7.4.5
    
    # Connect to "AzureAD"
    PS /home/wbagg> <b>Connect-AzureAD</b>
    VERBOSE: Authenticating to Azure ...
    VERBOSE: Building your Azure drive ...
    Loading personal and system profiles took 8788ms.
    
    # Run the following to get the object-id of our application, replacing
    # application-id with the actual Application (Client) ID of our new app
    #
    #    PS /home/wbagg> <b>Get-AzADServicePrincipal -AppID "<application-id>" | Select-Object DisplayName, AppId, Id | Format-List
    # 
    # For example:
    PS /home/wbagg> <b>Get-AzADServicePrincipal -AppID aaaaaaaa-1111-2222-3333-444444444444 | Select-Object DisplayName, AppId, Id | Format-List
    
    DisplayName : Dropzone AI
    AppId       : aaaaaaaa-1111-2222-3333-444444444444
    Id          : 44726f70-7a6f-6e65-5761-734865726521
    
  • Note this Id field which we'll use in the next command, which we refer to as the object-spid (Service Principal ID)

  • Connect to Exchange Online and Create an Exchange Online Service Principal for our Application

# Connect to ExchangeOnline
PS /home/wbagg> Connect-ExchangeOnline

# Run the following to create the service principal, replacing
# application-id and object-spid from the earlier values
#
#    PS /home/wbagg> New-ServicePrincipal -AppId "<application-id>" -ObjectId "<object-spid>" -DisplayName "Dropzone AI"
#
# for example
PS /home/wbagg> New-ServicePrincipal -AppId "aaaaaaaa-1111-2222-3333-444444444444" -ObjectId "44726f70-7a6f-6e65-5761-734865726521" -DisplayName "Dropzone AI"

DisplayName    ObjectId                               AppId
-----------    --------                               -----
Dropzone AI    44726f70-7a6f-6e65-5761-734865726521   aaaaaaaa-1111-2222-3333-444444444444
  • Lastly, we assign Transport Hygiene Exchange Role to our Application

# Run the following to enable the Transport Hygiene role, replacing the
# application-id with the actual Application (Client) ID of our new app
#
#    PS /> New-ManagementRoleAssignment -App "application-id" -Role "Transport Hygiene"
#
PS /> New-ManagementRoleAssignment -App "aaaaaaaa-1111-2222-3333-444444444444" -Role "Transport Hygiene"

Name                           Role                RoleAssigneeName       RoleAssigneeType   AssignmentMethod   EffectiveUserName
----                           ----                ----------------       ----------------   ----------------   -----------------
Transport Hygiene-44726f70...  Transport Hygiene   ba0efd83-6465-48a...   ServicePrincipal   Direct

Locate Organization ID

  • Sign into Entra home as an administrator

  • In the left navigation, select Manage > Custom domain names

Azure Custom Domain Names
  • In the domain list you'll find one that ends in .onmicrosoft.com. Record this domain for use later in the Dropzone UI where it is called "Organization ID"

Azure Custom Domain Names List

Last updated

Was this helpful?