# Azure Activities

Azure Activities are the subscription-level resource events generated by Microsoft Azure, covering provisioning changes, role assignments, policy updates, and other administrative actions. Enabling the **Azure Activities** data feed on your existing Microsoft O365 connector forwards these events to Radiant Security.&#x20;

For background on Azure activity logging, see [Azure activity log](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log) in the Microsoft documentation.

The Microsoft O365 connector already holds the **Application (client) ID**, **Directory (tenant) ID**, and **Client Secret Value** from initial onboarding. This article walks through the additional Azure-side configuration required for Azure Activities and the **Subscription IDs** you provide to Radiant when enabling the data feed.

### Prerequisites

* [ ] Admin access to Azure
* [ ] An existing [Microsoft O365](https://help.radiantsecurity.ai/radiant-connectors/data-connectors/microsoft-o365) connector in Radiant Security

### Register the application in Microsoft Entra ID

1. Sign in to the [Microsoft Azure Portal](https://portal.azure.com/#home).
2. From the left side menu, navigate to **Microsoft Entra ID**.
3. From the left menu, navigate to **App Registrations**.
4. Click **+ New Registration**.

<figure><img src="/files/rUrBCvcEgUp6GsbcqvK1" alt=""><figcaption></figcaption></figure>

5. Set the application **Name** to `radiantsecurity-connector` and leave all default settings unchanged.

<div align="left"><figure><img src="/files/p3pkSvRrSMgZMAxcWTwn" alt="" width="375"><figcaption></figcaption></figure></div>

6. Click **Register** to save the changes.
7. On the newly registered application page, copy the following values:
   * **Application (client) ID**
   * **Directory (tenant) ID**

<div align="left"><figure><img src="/files/rN0EEsRwOCph3WA3amII" alt="" width="563"><figcaption></figcaption></figure></div>

8. On the same page, click the link for **Add a certificate or secret**.

<div align="left"><figure><img src="/files/GZCZXhXT3uO6neZEWlIT" alt="" width="552"><figcaption></figcaption></figure></div>

9. In the **Certificates & secrets** pane, click **+ New client secret**.
10. Set the client secret as follows:
    * **Description**: `Radiant Security Connector`
    * **Expires**: `12 months`

<div align="left"><figure><img src="/files/VwUjlA1mtAfKEOGDcgLO" alt="" width="563"><figcaption></figcaption></figure></div>

11. Click **Add**.
12. On the client secrets page that opens, copy the **Value** (not the **Secret ID** field).

<div align="left"><figure><img src="/files/mwZkyTKqunBXGFqXJS8V" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Copy the **Client Secret Value** now. It cannot be retrieved later.
{% endhint %}

### Grant API permissions to the registered application

1. On the left sidebar menu, click **API Permissions**.
2. Click **+ Add a permission**.
3. From the pop-out menu, select **Azure Service Management**.

<div align="left"><figure><img src="/files/5780lkjImeSrHaAE6faU" alt="" width="563"><figcaption></figcaption></figure></div>

4. Select the **user\_impersonation** permission.

<div align="left"><figure><img src="/files/M6TWIqq3KZqMrJ5NGE8Y" alt=""><figcaption></figcaption></figure></div>

5. Click **Add permissions**.

### Assign the Reader role for each subscription

Each Azure subscription that should be monitored requires its own Reader role assignment for the registered application. Repeat the steps below for each subscription.

1. Open the **Subscriptions** page and select the subscription to configure.

<div align="left"><figure><img src="/files/qKqpHK4UGETe15A4kzWl" alt=""><figcaption></figcaption></figure></div>

2. From the left menu, click **Access control (IAM)**.
3. Click **+ Add**, then select **Add role assignment**.

<div align="left"><figure><img src="/files/E0A2bjNAlJrmrsqcfl9a" alt=""><figcaption></figcaption></figure></div>

4. On the **Role** page, search for and select **Reader**. Click **Next**.

<div align="center"><figure><img src="/files/p23vwu2SW4Bk4hWHJi7K" alt=""><figcaption></figcaption></figure></div>

5. On the **Members** page, click **+ Select members** and search for `radiantsecurity-connector`.

<figure><img src="/files/6fbeKYXeV411uFLyKcxQ" alt=""><figcaption></figcaption></figure>

6. Select the application, then click **Select** at the bottom of the pane.
7. Click **Next**, then click **Review + Assign** to confirm the role.

### Enable the Azure Activities data feed in Radiant Security

1. Sign in to [Radiant Security](https://app.radiantsecurity.ai/).
2. From the navigation menu, click **Settings** > **Data Connectors**.
3. Click **View Details** on the Microsoft O365 data connector.
4. Under **Optional - Azure subscription IDs (comma separated)**, enter each subscription ID from your Azure Reader role assignments, separated by commas with no spaces after the commas.
5. Locate the row for the **Azure Activities** data feed under your existing **Microsoft O365** connector.
6. On the right side of the row, click **Enable**.

<figure><img src="/files/861o0g33hrIEZWqxFpx1" alt=""><figcaption></figcaption></figure>

### Verify ingestion

After Azure Activities begins forwarding, confirm events are reaching Radiant.

1. In Radiant, navigate to [Log Management](https://app.radiantsecurity.ai/logs).
2. Filter by `rs_connectorType:"ms365_azure_activity"`.
3. Confirm recent events appear.

{% hint style="info" %}
Allow several minutes for events to be parsed, indexed, and available for search.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.radiantsecurity.ai/radiant-connectors/data-connectors/azure-activities.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
