Skip to content

Commit ee14a38

Browse files
CSOAR-2639-new: created new inetgration i.e microsoft ews(graph)
1 parent 341134c commit ee14a38

File tree

2 files changed

+189
-0
lines changed

2 files changed

+189
-0
lines changed
Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
---
2+
title: Microsoft EWS (Graph)
3+
description: ''
4+
---
5+
6+
import useBaseUrl from '@docusaurus/useBaseUrl';
7+
8+
<img src={useBaseUrl('/img/platform-services/automation-service/app-central/logos/microsoft-ews.png')} alt="microsoft-ews" width="100"/>
9+
10+
***Version: 1.0
11+
Updated: Sep 10, 2025***
12+
13+
Perform actions on Microsoft EWS mailboxes, accounts using Graph API.
14+
15+
## Actions
16+
17+
* **Get Attachments** (*Enrichment*) - Get an email attachment.
18+
* **Get Contacts** (*Enrichment*) - Get all contacts for a mailbox.
19+
* **Get Searchable Mailboxes** (*Enrichment*) - Multiple new fields to search mails.
20+
* **Get Out Of Office** (*Enrichment*) - Get out of office message for a mailbox.
21+
* **Search Emails Extended** (*Enrichment*) - Search emails with multiple new fields to search mails.
22+
* **Copy Email** (*Containment*) - Copy email to a new destination.
23+
* **Delete Attachments** (*Containment*) - Delete an attachment.
24+
* **Delete Email** (*Containment*) - Delete an email.
25+
* **Download Mail As EML** (*Enrichment*) - Save the whole email as EML format in incident attachments / objects.
26+
* **Forward Mail** *(Containment)* - Forward the email.
27+
* **Send Email** *(Notification)* - Send an email.
28+
* **Reply To Email** *(Notification)* - Reply to an email with a given item\_id.
29+
30+
## Microsoft EWS configuration
31+
32+
Each application you want the Microsoft identity platform to perform identity and access management (IAM) needs to be registered. Registering it establishes a trust relationship between your application and the identity provider, the Microsoft identity platform.
33+
34+
### Register an application
35+
36+
[Registering your application](https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-authenticate-an-ews-application-by-using-oauth) establishes a trust relationship between your app and the Microsoft identity platform. The trust is unidirectional: your app trusts the Microsoft identity platform, and not the other way around.
37+
38+
Follow these steps to create the app registration:
39+
40+
1. Sign in to the [Azure portal](https://portal.azure.com/).
41+
2. If you have access to multiple tenants, use the Directory + subscription filter <br/><img src={useBaseUrl('/img/platform-services/automation-service/app-central/integrations/microsoft-ews/microsoft-ews-1.png')} style={{border:'1px solid gray'}} alt="/microsoft-ews" width="30"/> in the top menu to select the tenant in which you want to register an application.
42+
3. Search for and select the **Azure Active Directory**.
43+
4. Under **Manage**, select **App registrations > New registration**.
44+
5. Enter a Name for your application. Users of your app might see this name, and you can change it later.
45+
6. Select Register to complete the initial app registration.
46+
7. Don't enter anything for **Redirect URI (optional)**.<br/><img src={useBaseUrl('/img/platform-services/automation-service/app-central/integrations/microsoft-ews/microsoft-ews-2.png')} style={{border:'1px solid gray'}} alt="/microsoft-ews" width="800"/>
47+
48+
When registration completes, the Azure portal displays the app registration's Overview pane, which includes its Application (client) ID. Also referred to as just client ID, this value uniquely identifies your application in the Microsoft identity platform.
49+
50+
The client ID as one aspect in validating the security tokens it receives from the identity platform.<br/><img src={useBaseUrl('/img/platform-services/automation-service/app-central/integrations/microsoft-ews/microsoft-ews-3.png')} style={{border:'1px solid gray'}} alt="/microsoft-ews" width="800"/>
51+
52+
### Add credentials
53+
54+
Credentials are used by confidential client applications that access an API. Examples of confidential clients are web apps, or service- and daemon-type applications. Credentials allow your application to authenticate as itself, requiring no interaction from a user at runtime.
55+
You can add client secrets (a string) as credentials to your confidential client app registration.
56+
57+
<br/><img src={useBaseUrl('/img/platform-services/automation-service/app-central/integrations/microsoft-ews/microsoft-ews-4.png')} style={{border:'1px solid gray'}} alt="/microsoft-ews" width="800"/>
58+
59+
### Add a client secret
60+
61+
The client secret, known also as an application password, is a string value of your app.
62+
63+
1. Select your application in App registrations in the Azure portal.
64+
2. Select **Certificates & secrets > New client secret**.
65+
3. Add a description for your client secret.
66+
4. Select a duration.
67+
5. Select **Add**.
68+
6. Record the secret's value for use in your client application code - it's never displayed again after you leave this page.
69+
70+
### Add permissions to API
71+
72+
1. Select your application in App registrations in the Azure portal.
73+
2. Select **API permissions > Add a permission**.
74+
3. Application permissions are for service- or daemon-type applications that need to access API as themselves, without user interaction for sign-in or consent. Unless you've defined application roles for your API.
75+
4. Select Add a permission, and add the following permissions (as we can see from picutre). <br/><img src={useBaseUrl('/img/platform-services/automation-service/app-central/integrations/microsoft-ews/microsoft-ews-5.png')} style={{border:'1px solid gray'}} alt="/microsoft-ews" width="800"/>
76+
77+
#### EWS API to be configured for these permissions
78+
79+
Applications are authorized to call APIs when they are granted permissions by users/admins as part of the consent process. The list of configured permissions should include all the permissions the application needs.
80+
81+
**API / Permissions**
82+
83+
Microsoft Graph (7)
84+
85+
* Contacts.Read
86+
+ Type: Application
87+
+ Description: Read contacts in all mailboxes
88+
+ Admin: -
89+
* Mail.Read
90+
+ Type: Application
91+
+ Description: Read mail in all mailboxes
92+
+ Admin: Yes
93+
* Mail.ReadBasic
94+
+ Type: Delegated
95+
+ Description: Read user basic mail
96+
+ Admin: -
97+
* Mail.ReadBasic
98+
+ Type: Application
99+
+ Description: Read basic mail in all mailboxes
100+
+ Admin: Yes
101+
* Mail.ReadBasic.All
102+
+ Type: Application
103+
+ Description: Read basic mail in all mailboxes
104+
+ Admin: Yes
105+
* Mail.Send
106+
+ Type: Application
107+
+ Description: Send mail as any user
108+
+ Admin: Yes
109+
* MailboxItem.Read.All
110+
+ Type: Application
111+
+ Description: Read all the users' mailbox items
112+
+ Admin: Yes
113+
114+
Office 365 Exchange Online (3)
115+
116+
* Exchange.ManageAsApp
117+
+ Type: Application
118+
+ Description: Manage Exchange As Application
119+
+ Admin: Yes
120+
* full\_access\_as\_app
121+
+ Type: Application
122+
+ Description: Use Exchange Web Services with full access to all mailboxes
123+
+ Admin: Yes
124+
125+
full\_access\_as\_app Use Exchange Web Services with full access to all mailboxes
126+
127+
Once API permission are added then Admin must consent to a grant these permissions, [Learn more about permissions and consent](https://docs.microsoft.com/azure/active-directory/develop/v2-permissions-and-consent?WT.mc_id=Portal-Microsoft_AAD_RegisteredApps).
128+
129+
### Assign the required roles in the Exchange Admin Center
130+
131+
1. Sign in to the [Exchange Admin Center (EAC)](https://admin.exchange.microsoft.com/#/).
132+
2. In the EAC, navigate to **Roles**.
133+
3. Click **Admin Roles**.
134+
4. Search for the role **Discovery Management** and click on it.
135+
5. Click on the **Assign** tab.
136+
6. Click **+** and search for the user you want to assign the role to.
137+
7. Click **Save**.
138+
139+
## Configure Microsoft EWS in Automation Service and Cloud SOAR
140+
141+
import IntegrationsAuth from '../../../../reuse/integrations-authentication.md';
142+
import IntegrationCertificate from '../../../../reuse/automation-service/integration-certificate.md';
143+
import IntegrationEngine from '../../../../reuse/automation-service/integration-engine.md';
144+
import IntegrationLabel from '../../../../reuse/automation-service/integration-label.md';
145+
import IntegrationProxy from '../../../../reuse/automation-service/integration-proxy.md';
146+
import IntegrationTimeout from '../../../../reuse/automation-service/integration-timeout.md';
147+
import CloudSOARAPIURL from '../../../../reuse/automation-service/cloud-soar-api-url.md';
148+
import AccessID from '../../../../reuse/automation-service/access-id.md';
149+
import AccessKey from '../../../../reuse/automation-service/access-key.md';
150+
151+
<IntegrationsAuth/>
152+
153+
:::note
154+
Use the information you set up [above](#microsoft-ews-configuration).
155+
:::
156+
157+
* <IntegrationLabel/>
158+
* **Host**. Enter your Microsoft EWS host address, for example, `outlook.office365.com`
159+
160+
* **Tenant ID**. Enter the [tenant ID](https://learn.microsoft.com/en-us/entra/fundamentals/how-to-find-tenant) for authentication.
161+
162+
* **Client ID**. Enter the client ID for authentication.
163+
164+
* **Client Secret**. Enter the client secret for authentication.
165+
166+
* **Microsoft Graph Scope**. Enter the scope.
167+
168+
* **Mailbox**. Enter the mailbox address.
169+
170+
* <IntegrationTimeout/>
171+
* <IntegrationCertificate/>
172+
* <CloudSOARAPIURL/>
173+
* <AccessID/>
174+
* <AccessKey/>
175+
* <IntegrationEngine/>
176+
* <IntegrationProxy/>
177+
178+
<img src={useBaseUrl('/img/platform-services/automation-service/app-central/integrations/misc/microsoft-ews-graph-configuration.png')} style={{border:'1px solid gray'}} alt="Microsoft EWS configuration" width="400"/>
179+
180+
For information about Microsoft EWS, see [Microsoft Exchange Web Services documentation](https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-authenticate-an-ews-application-by-using-oauth).
181+
182+
183+
## Category
184+
185+
Email Gateway
186+
187+
## Change Log
188+
189+
* September 10, 2025 - First upload
139 KB
Loading

0 commit comments

Comments
 (0)