You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

146 lines
6.7 KiB

[comment]: # " File: README.md"
[comment]: # " Copyright (c) 2022-2023 Splunk Inc."
[comment]: # ""
[comment]: # "Licensed under the Apache License, Version 2.0 (the 'License');"
[comment]: # "you may not use this file except in compliance with the License."
[comment]: # "You may obtain a copy of the License at"
[comment]: # ""
[comment]: # " http://www.apache.org/licenses/LICENSE-2.0"
[comment]: # ""
[comment]: # "Unless required by applicable law or agreed to in writing, software distributed under"
[comment]: # "the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,"
[comment]: # "either express or implied. See the License for the specific language governing permissions"
[comment]: # "and limitations under the License."
[comment]: # ""
## Authentication
### Microsoft Azure Application creation
This app requires creating a Microsoft Azure Application. To do so, navigate to
<https://portal.azure.com> in a browser and log in with a Microsoft account, then select **Azure
Active Directory** .
1. Go to **App Registrations** and click on **+ New registration** .
2. Give the app an appropriate name.
3. Select a supported account type (configure the application to be multitenant).
4. Click on the **Register** .
- Under **Certificates & secrets** , add **New client secret** . Note this key somewhere
secure, as it cannot be retrieved after closing the window.
- Under **Redirect URIs** we will be updating the entry of https://phantom.local to reflect
the actual redirect URI. We will get this from the SOAR asset we create below in the section
titled "Configure the MS Graph for Active Directory SOAR app Asset"
### Delegated Permissions configuration
Use this procedure to provide non-admin permissions to the app. To do so, navigate to
<https://portal.azure.com> in a browser and log in with a Microsoft account, then navigate to the
previously created app configuration.
1. Under **API Permissions** , click on **Add a permission** .
2. Go to **Microsoft Graph Permissions** , the following **Delegated Permissions** need to be
added:
- User.ReadWrite.All
- Directory.ReadWrite.All
- Directory.AccessAsUser.All
- User.ManageIdentities.All
- Group.ReadWrite.All
- GroupMember.ReadWrite.All
- RoleManagement.ReadWrite.Directory
- offline_access
3. Click on the **Add permissions** .
4. After making these changes, click on **Grant admin consent** .
### Application Permissions configuration
Use this procedure to provide admin permissions to the app. To do so, navigate to
<https://portal.azure.com> in a browser and log in with a Microsoft account, then navigate to the
previously created app configuration.
1. Under **API Permissions** , click on **Add a permission** .
2. Go to **Microsoft Graph Permissions** , the following **Application Permissions** need to be
added:
- User.ReadWrite.All
- Directory.ReadWrite.All
- User.ManageIdentities.All
- Group.ReadWrite.All
- GroupMember.ReadWrite.All
- RoleManagement.ReadWrite.Directory
3. Click on the **Add permissions** .
4. After making these changes, click on **Grant admin consent** .
#### Note: **reset password** action is not supported with Application permissions
## Configure the MS Graph for Active Directory SOAR app Asset
When creating an asset for the **MS Graph for Active Directory** app, place the **Application ID**
of the app created during the previous step in the **Client ID** field and place the password
generated during the app creation process in the **Client Secret** field. Then, after filling out
the **Tenant** field, click **SAVE** .
After saving, a new field will appear in the **Asset Settings** tab. Take the URL found in the
**POST incoming for MS Graph to this location** field and place it in the **Redirect URIs** field of
the Azure Application configuration page. To this URL, add **/result** . After doing so the URL
should look something like:
https://\<phantom_host>/rest/handler/msgraphforactivedirectory_f2a239df-acb2-47d6-861c-726a435cfe76/\<asset_name>/result
Once again, click on Save.
## Enable Application Permissions
If you have received admin consent to use application permissions, make sure to check the **Admin
Access Required** and **Admin Consent Already Provided** checkboxes on the asset.
## User Permissions
To complete the authorization process, this app needs permission to view assets, which is not
granted by default. First, under **asset settings** , check which user is listed under **Select a
user on behalf of which automated actions can be executed** . By default, the user will be
**automation** , but this user can be changed by clicking **EDIT** at the bottom of the window. To
give this user permission to view assets, follow these steps:
- In the main drop-down menu, select **Administration** , then select the **User Management** ,
and under that tab, select **Roles** . Finally, click **+ ROLE** .
- In the **Add Role** wizard, give the role a name (e.g **Asset Viewer** ), and provide a
description. Subsequently, under **Available Users** , add the user assigned to the asset viewed
earlier. Then click the **Permissions** tab.
- On the permission tab, under **Available Privileges** , give the role the **View Assets**
privilege. Then click **SAVE** .
## Method to Run Test Connectivity (for delegated permissions)
After setting up the asset and user, click the **TEST CONNECTIVITY** button. A window should pop up
and display a URL. Navigate to this URL in a separate browser tab. This new tab will redirect to a
Microsoft login page. Log in to a Microsoft account with administrator privileges to the Microsoft
AD environment. After logging in, review the requested permissions listed, then click **Accept** .
Finally, close that tab. The test connectivity window should show success.
The app should now be ready to use.
## State File Permissions
Please check the permissions for the state file as mentioned below.
#### State Filepath
- For Root Install Instance:
/opt/phantom/local_data/app_states/f2a239df-acb2-47d6-861c-726a435cfe76/{asset_id}\_state.json
- For Non-Root Install Instance:
/\<PHANTOM_HOME_DIRECTORY>/local_data/app_states/f2a239df-acb2-47d6-861c-726a435cfe76/{asset_id}\_state.json
#### State File Permissions
- File Rights: rw-rw-r-- (664) (The SOAR user should have read and write access for the state
file)
- File Owner: appropriate SOAR user
## Port Details
The app uses HTTP/ HTTPS protocol for communicating with the Microsoft Graph server. Below are the
default ports used by the Splunk SOAR Connector.
| Service Name | Transport Protocol | Port |
|--------------|--------------------|------|
| https | tcp | 443 |