|
1 |
| -# eDiscovery Plugin for Copilot for Security |
| 1 | +# eDiscovery Plugin for Security Copilot |
2 | 2 | Author: Amit Singh
|
3 | 3 |
|
4 |
| -This custom plugin for Copilot for Security offers a range of functionalities to enhance your organization's eDiscovery capabilities in Microsoft Purview. Use this plugin if you create the case and then export the artifacts. If you attach search to review set & review those in eDiscovery then this plugin will not work as currently constructed. |
| 4 | +This custom Security Copilot plugin enhances your organization's eDiscovery capabilities in Microsoft Purview. It is designed for workflows where you create a case and export artifacts directly. You can initiate an export from Search after indexing and estimating the artifacts. However, this plugin does not support workflows that involve attaching searches to a review set for further analysis in eDiscovery. Attaching searches to a review set is a manual process that must be completed within the case in the Purview portal. |
5 | 5 |
|
6 |
| -Pre-requisites |
| 6 | +### Prerequisites for Using Security Copilot |
7 | 7 |
|
8 |
| -* [Copilot for Security Enabled](https://learn.microsoft.com/en-us/security-copilot/get-started-security-copilot#onboarding-to-microsoft-security-copilot) |
9 |
| -* [Access to upload custom plugins](https://learn.microsoft.com/en-us/security-copilot/manage-plugins?tabs=securitycopilotplugin#managing-custom-plugins) |
10 |
| -* Make sure your application has the following delegated graph (https://graph.microsoft.com) permissions: offline_access user.read eDiscovery.Read.All & eDiscovery.ReadWrite.All. See this link for App registration [EntraID Application Registration created](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#register-an-application) |
| 8 | +- **Ensure Security Copilot is Enabled** |
| 9 | + Before you start, make sure Security Copilot is enabled in your environment. Follow the onboarding steps here: |
| 10 | + [Get Started with Security Copilot](https://learn.microsoft.com/en-us/security-copilot/get-started-security-copilot#onboarding-to-microsoft-security-copilot) |
11 | 11 |
|
12 |
| -### Instructions |
13 |
| -#### Upload the Custom Plugin |
| 12 | +- **Check Your Access to Upload Custom Plugins** |
| 13 | + To use custom plugins, you need the proper permissions to upload them in Security Copilot. Learn how to manage and enable this feature here: |
| 14 | + [Managing Custom Plugins](https://learn.microsoft.com/en-us/security-copilot/manage-plugins?tabs=securitycopilotplugin#managing-custom-plugins) |
14 | 15 |
|
15 |
| -* Obtain the file [eDiscovery_OAuth_API_manifest.yaml](https://github.com/samitks77/Copilot-For-Security/blob/main/Plugins/Community%20Based%20Plugins/Purview/eDiscovery/eDiscovery_OAuth_API_manifest.yaml) from this directory. This is the yaml that you will upload in Copilot for Security. From your EntraID App registration, add the ClientId & tenant ID.  |
16 |
| -* During the upload process as a custom plugin in Copilot for Security you will need to have your Secret Value from Certificates & secrets. This will be your API key for this plugin to work. Copy your secret value once the secret is created because if you navigate away from this screen, your secret value will not be human readable  Follow these steps to create the secrets(https://learn.microsoft.com/en-us/graph/auth-register-app-v2#add-credentials). |
17 |
| -* Upload eDiscovery_OAuth_API_manifest.yaml to Copilot for Security by navigating to custom plugins at the bottom of the Manage Sources page.  |
18 |
| -* Upload the file by clicking on Copilot for Security plugin.  |
19 |
| -* Paste the Client Secret Value from EntraID App Registration & click connect  It should open another window where you will sign in. |
| 16 | +- **Set Up the Required Permissions for Your Application** |
| 17 | + Your application must have the following permissions for Microsoft Graph (`https://graph.microsoft.com`): |
| 18 | + - `offline_access` |
| 19 | + - `user.read` |
| 20 | + - `eDiscovery.Read.All` |
| 21 | + - `eDiscovery.ReadWrite.All` |
| 22 | + |
| 23 | + To register your application and configure these permissions, follow the steps here: |
| 24 | + [Register an Application in Entra ID](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#register-an-application) |
| 25 | + |
| 26 | +## Setting Up the Custom Plugin in Security Copilot |
| 27 | + |
| 28 | +### Uploading the Custom Plugin |
| 29 | + |
| 30 | +1. **Download the Required File** |
| 31 | + - Obtain the file **[`eDiscovery_OAuth_API_manifest.yaml`](https://github.com/samitks77/Copilot-For-Security/blob/main/Plugins/Community%20Based%20Plugins/Purview/eDiscovery/eDiscovery_OAuth_API_manifest.yaml)** from the designated directory. This YAML file will be uploaded to **Security Copilot** during the setup process. |
| 32 | + |
| 33 | +2. **Add Client ID & Tenant ID** |
| 34 | + - From your **Entra ID App Registration**, make sure to add your **Client ID** and **Tenant ID** before proceeding with the |
| 35 | + upload. |
| 36 | +  |
| 37 | + |
| 38 | +3. **Generate and Copy Your Secret Value** |
| 39 | + - During the plugin upload process in **Security Copilot**, you will need a **Secret Value** from **Certificates & Secrets** in your Entra ID App. |
| 40 | + - This **Secret Value** acts as your **API key** for the plugin to function correctly. |
| 41 | + - **Important:** Copy your **Secret Value** immediately after creating it. If you navigate away from the page, the value will no longer be readable. |
| 42 | + |
| 43 | +  |
| 44 | + |
| 45 | +4. **Create Secrets in Entra ID** |
| 46 | + |
| 47 | + - Follow these steps to create and manage secrets for your application: |
| 48 | + **[`How to Add Credentials in Entra ID`](https://learn.microsoft.com/en-us/graph/auth-register-app-v2#add-credentials)** |
| 49 | + |
| 50 | +5. **Navigate to Custom Plugins** |
| 51 | + |
| 52 | + - Go to the **Manage Sources** on the home page of **Security Copilot**, and scroll down to the **Custom Plugins** section. |
| 53 | + |
| 54 | +  |
| 55 | + |
| 56 | +  |
| 57 | +6. **Upload the Plugin File** |
| 58 | + |
| 59 | + - Click on **Security Copilot Plugin**, then upload the **`eDiscovery_OAuth_API_manifest.yaml`** file. |
| 60 | + |
| 61 | +  |
| 62 | + |
| 63 | +7. **Enter the Client Secret and Connect** |
| 64 | + |
| 65 | + - Paste the **Client Secret Value** from your **Entra ID App Registration**. |
| 66 | + - Click **Connect** to proceed. |
| 67 | + |
| 68 | +  |
| 69 | + |
| 70 | +8. **Sign-In** |
| 71 | + |
| 72 | + Once you click **Connect**, a new window will open where you will need to sign in with your credentials. |
| 73 | + |
| 74 | +### Plugin Setup Complete |
| 75 | + |
| 76 | +You have successfully set up the **eDiscovery Plugin** in **Security Copilot**. With the plugin uploaded, Client ID, Tenant ID, and Secret Value configured, and authentication completed, your integration is now ready to use. Security Copilot can now leverage this plugin for enhanced **eDiscovery capabilities**, allowing you to streamline investigations and data retrieval processes. If you encounter any issues, verify your Entra ID settings, ensure your Client Secret is valid, and check your Security Copilot permissions. |
20 | 77 |
|
21 | 78 | ### Skills & Prompts
|
22 |
| -1. Create eDiscovery Case: |
23 |
| - - Example Prompt(s): |
24 |
| - - Create eDiscovery case in Purview with the Case name "Test-123", response should be a bulleted list |
25 |
| - - Inputs: [Case name] |
26 |
| -2. Add custodian to eDiscovery Case: |
27 |
| - - Example Prompt(s): |
28 |
| - - Add custodian to the eDiscovery case in Purview, use the case id from above or use this Case ID "1xxxx234-XXXX-XXXX-a1cd- |
29 |
| - fxxxxxxxxxx0" and add this email for the custodian " [email protected]" |
30 |
| - - Inputs: [Email] |
31 |
| - - Inputs: [Case ID] |
32 |
| -3. Apply hold on eDiscovery Custodian |
33 |
| - - Example Prompt(s): |
34 |
| - - Apply hold on eDiscovery custodians using the custodian id from above or use this Custodian ID "2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6" |
35 |
| - - Inputs: [Custodian ID] |
36 |
| -4. Add new userSource objects to Custodians |
37 |
| - - Example Prompt(s): |
38 |
| - - add new userSource object associated with the eDiscovery custodian id "2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6", include this |
39 |
| - custodian email " [email protected]" and Mailbox, site for sources. |
40 |
| - - Inputs: [Custodian ID] |
41 |
| - - Inputs: [Email] |
42 |
| -5. Add new eDiscovery Search object to the Case |
43 |
| - - Example Prompt(s): |
44 |
| - - Add a new ediscoverySearch object with this Case ID "1xxxx234-XXXX-XXXX-a1cd-fxxxxxxxxxx0" with the display name "Test-123- |
45 |
| - search", also add dataSourceScopes to allTenantMailboxes, allTenantSites, allCaseCustodians. |
46 |
| - - Inputs: [Case ID] |
47 |
| - - Inputs: [Display Name] |
48 |
| -6. Run an estimate on eDiscovery Case: |
49 |
| - - Example Prompt(s): |
50 |
| - - Run an estimate of the number of emails and documents in eDiscovery with this Search ID "2xxxxxxx-xxx4-xxxd-4xxx- |
51 |
| - 5xxxxxxxxxxx" or the Search ID from above |
52 |
| - - Inputs: [Search ID] |
53 |
| -7. Create new eDiscovery ReviewSet: |
54 |
| - - Example Prompt(s): |
55 |
| - - Create new ediscoveryReviewSet for the above case id or use this Case ID "1xxxx234-XXXX-XXXX-a1cd- |
56 |
| - fxxxxxxxxxx0" with the Display Name of "Test-123-reviewset" |
57 |
| - - Inputs: [Case ID] |
58 |
| -8. Initiate an Export in eDiscovery: |
59 |
| - - Example Prompt(s): |
60 |
| - - Use this Case ID "1xxxx234-XXXX-XXXX-a1cd-fxxxxxxxxxx0" or the Case ID from above & this ReviewSetId "dxxxxxxx-xxxx-xxxx-xxxx- |
61 |
| - xxxxxxxxxxxx" or the ReviewSetId from above and initiate an export |
62 |
| - - Inputs: [Case ID] |
63 |
| - - Inputs: [Review Set ID] |
64 |
| -9. Get a list of Case Operation in eDiscovery: |
65 |
| - - Example Prompt(s): |
66 |
| - - Use the Case ID from above or use this Case ID "1xxxx234-XXXX-XXXX-a1cd-fxxxxxxxxxx0", get a list of the caseOperation objects |
67 |
| - and their properties |
68 |
| - - Inputs: [Case ID] |
69 |
| - |
70 |
| -### eDiscovery prompt book based on variables like CaseID etc |
71 |
| - |
| 79 | + |
| 80 | +🔹 **These are **suggested prompts** that you can use to interact with this plugin in **Security Copilot**. Each prompt helps you execute specific **eDiscovery actions efficiently**. You can modify these prompts based on your use case and organizational requirements. Below, you'll find structured input fields required for each action, ensuring precise execution of eDiscovery tasks. For a cleaner, structured view of the prompts, check out the HTML version below:** |
| 81 | + |
| 82 | +👉 **[`Suggested Prompts in HTML`](https://htmlpreview.github.io/?https://raw.githubusercontent.com/samitks77/Copilot-For-Security/main/Plugins/Community%20Based%20Plugins/Purview/eDiscovery/sampleprompts.html)** |
| 83 | + |
| 84 | + |
72 | 85 |
|
73 | 86 |
|
74 | 87 |
|
|
0 commit comments