Skip to content

Commit 6d65060

Browse files
committed
fix2
1 parent 646c67e commit 6d65060

3 files changed

Lines changed: 158 additions & 44 deletions

File tree

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
title: Troubleshoot Azure Storage Blob connector issues - Microsoft Sentinel
3+
description: Troubleshoot Azure Storage Blob connector issues in Microsoft Sentinel.
4+
author: EdB-MSFT
5+
ms.author: edbaynash
6+
ms.topic: troubleshooting
7+
ms.date: 02/05/2026
8+
ms.service: microsoft-sentinel
9+
10+
#Customer intent: As a security engineer, I want to troubleshoot Azure Storage Blob connector issues so that I can ensure seamless log ingestion into Microsoft Sentinel.
11+
12+
---
13+
14+
# Troubleshoot Azure Storage Blob connector issues
15+
16+
The Azure Storage Blob connector simplifies the process of ingesting data from Azure Storage Blobs to Microsoft Sentinel.
17+
18+
This article describes how to quickly identify the cause of issues occurring with the Azure Storage Blob connector so you can find the steps needed to resolve the issues.
19+
20+
Learn how to [connect Microsoft Sentinel to Azure Storage Blob to ingest data](setup-azure-storage-connector.md).
21+
22+
## Microsoft Sentinel doesn't receive data from the Azure Storage Blob connector
23+
24+
The logs for the Azure Storage Blob connector aren't visible in the Microsoft Sentinel workspace for more than 30 minutes after the connector was connected.
25+
26+
Before you search for a cause and solution, review these considerations:
27+
28+
- It can take around 20-30 minutes from the moment the connector is connected until data is ingested into the workspace.
29+
- The connector's connection status indicates that a collection rule exists; it doesn't indicate that data was ingested. If the status of the Azure Storage Blob connector is green, there's a collection rule for one of the data types, but still no data.
30+
31+
### Determine the cause of your problem
32+
33+
In this section, we cover these causes:
34+
35+
1. [The data isn't ingested to the Azure Storage Blob container.](#cause-1-the-data-isnt-ingested-to-the-azure-storage-blob-container)
36+
1. [The Azure Storage queue isn't receiving notifications for blob created events.](#cause-2-the-azure-storage-queue-isnt-receiving-notifications-for-blob-created-events)
37+
1. [The Azure Storage Blob connector permissions or networking policies aren't set properly.](#cause-3-the-azure-storage-blob-connector-permissions-or-networking-policies-arent-set-properly)
38+
1. [The queue message content or Azure Storage Blob data format is invalid.](#cause-4-the-queue-message-content-or-azure-storage-blob-data-format-is-invalid)
39+
40+
> [!TIP]
41+
> If the health feature isn't enabled, [enable it](enable-monitoring.md).
42+
43+
### Cause 1: The data isn't ingested to the Azure Storage Blob container
44+
45+
The upstream system isn't successfully delivering data to the expected storage container.
46+
47+
#### Solution: Verify data ingress on the storage account
48+
49+
1. In the Azure portal, navigate to the storage account and review the **Metrics** to confirm ingress activity.
50+
1. Check that the expected storage container is receiving blobs.
51+
1. If the container is empty, review the upstream producing system for issues delivering data to the account.
52+
53+
### Cause 2: The Azure Storage queue isn't receiving notifications for blob created events
54+
55+
Event Grid system topics facilitate blob created events from the source storage account to the target storage queue. If the system topic or subscription isn't configured correctly, events won't flow to the queue.
56+
57+
#### Solution: Verify Event Grid system topic and subscription
58+
59+
1. Check the resource group's deployments for any failures when creating the system topic resources.
60+
1. If the Event Grid system topic and subscription were successfully created, review the metrics of the Event Grid subscription. Consider [enabling diagnostic logs](/azure/event-grid/enable-diagnostic-logs-topic).
61+
1. Verify that the subscription source maps to the correct storage account and target queue.
62+
1. Review the filtering criteria specified under **Additional Features** to ensure it matches expected patterns.
63+
1. The Event Grid subscription's metrics should show events that match the blob created criteria. If the metrics indicate **Delivery Failed Events**, review the Event Grid's diagnostic logs and continue to the next section for policy-related issues.
64+
65+
### Cause 3: The Azure Storage Blob connector permissions or networking policies aren't set properly
66+
67+
This issue is caused by incorrect role-based access policies applied to the storage account(s) hosting the blob container and/or the message queue, or by network security settings blocking traffic.
68+
69+
#### Solution: Verify permissions and networking
70+
71+
Review the [Set up your Azure Storage connector](setup-azure-storage-connector.md) documentation and ensure the following are in place:
72+
73+
**Service principal and RBAC checks:**
74+
75+
1. Verify that the application ID of the service principal matches the application IDs per Azure environment specified in the [Azure Storage Blob connectors API reference](data-connection-rules-reference-azure-storage.md#authentication-configuration).
76+
1. Verify that the service principal has the **Storage Blob Data Reader** role on the storage accounts hosting the blob container.
77+
1. Verify that the service principal has the **Storage Queue Data Contributor** role on the storage accounts hosting the message queues.
78+
79+
> [!TIP]
80+
> Clues to failures of this kind are exposed on connectivity check issues during installation and in the `SentinelHealth` table for active connectors.
81+
82+
**Network security checks:**
83+
84+
If the service principal and RBAC troubleshooting doesn't surface an issue, the network security settings on the storage account(s) might be causing the problem. The network security solution for this connector relies on [Network Security Perimeter](/azure/private-link/network-security-perimeter-concepts) based protection. Review the [Enable network security](enable-storage-network-security.md) documentation to ensure all steps were followed correctly, and check the following:
85+
86+
- If you aren't using NSP to protect the resource, check the storage account's **Networking** blade to ensure public network access is enabled.
87+
- Verify that the storage account isn't using selected network limits via IPv4 CIDR addresses. This approach doesn't work with the connector's IP traffic due to the documented [storage firewall limitations](/azure/storage/common/storage-network-security-limitations#restrictions-for-ip-network-rules) around IP ranges and region affinity of the caller and the account.
88+
- If NSP is being used to protect the account, enable the [perimeter's diagnostic logs](/azure/private-link/network-security-perimeter-diagnostic-logs) to troubleshoot. NSP rules only apply to resources in **Enforced** access mode. Alternatively, **Transition** mode doesn't apply the rules on the resource while continuing to collect telemetry on traffic patterns. Review the profile associated with the storage account(s):
89+
- Check that inbound rules for the producer are in place. Check for blob write failures on the producer.
90+
- Check that inbound rules for the connector are in place per the [Enable network security](enable-storage-network-security.md) documentation.
91+
- Check that inbound rules include a rule for the subscription of the storage account and Event Grid system topic. Ensure the Event Grid system topic subscription is using **System Assigned** managed identity-based delivery.
92+
93+
### Cause 4: The queue message content or Azure Storage Blob data format is invalid
94+
95+
The blob data format or queue message structure doesn't match the expected configuration.
96+
97+
#### Solution: Verify data format and queue messages
98+
99+
1. Check the `SentinelHealth` table for clues about invalid messages. If the health data references invalid data, verify that the format of the blobs uploaded to storage matches the serialization and compression model set in the connector definition.
100+
1. Queue message format exceptions result from messages in the queue not aligning to the `EventGridSchema` for `BlobCreated` events. Check the Event Grid subscription's **Filters** section to confirm:
101+
- The filter is set to **Blob Created**.
102+
- The event schema is **EventGridSchema**.
103+
104+
## Next steps
105+
106+
In this article, you learned how to quickly identify causes and resolve common issues with the Azure Storage Blob connector.
107+
108+
We welcome feedback, suggestions, requests for features, bug reports or improvements and additions. Go to the [Microsoft Sentinel GitHub repository](https://github.com/Azure/Azure-Sentinel) to create an issue or fork and upload a contribution.

articles/sentinel/enable-storage-network-security.md

Lines changed: 47 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,11 @@ To complete this setup, ensure you have the following permissions:
3333
To enable network security on the storage resources integrated with your Azure Storage connector, you need to create a Network Security Perimeter (NSP) and associate the storage account with it. Then configure the necessary rules to allow traffic from Event Grid and other relevant sources while blocking unauthorized access. Use the following steps to complete the configuration.
3434

3535
### Create a Network Security Perimeter
36-
1. In the Azure portal, search for *Network Security Perimeters*.
36+
1. In the Azure portal, search for *Network Security Perimeters*
37+
3738
1. Select **Create**.
3839
1. Configure the following fields:
39-
- **Subscription** and **Resource group**
40+
- **Subscription** and **Resource group**.
4041
- **Name**, for example `storageblob-connectors-nsp`
4142
- **Region**. The region must be the same region as the storage account.
4243
- **Profile name**: Enter a profile name or accept the default.
@@ -45,7 +46,8 @@ To enable network security on the storage resources integrated with your Azure S
4546
:::image type="content" source="./media/enable-storage-network-security/create-network-security-perimiter.png" lightbox="./media/enable-storage-network-security/create-network-security-perimiter.png" alt-text="A screenshot showing the creation of a Network Security Perimeter in the Azure portal.":::
4647

4748
### Associate the Storage Account with the Network Security Perimeter
48-
1. Open your newly created Network Security Perimeter resource.
49+
1. Open your newly created Network Security Perimeter resource
50+
4951
1. Select **Profiles**, then select the profile name you used when creating the NSP resource.
5052
1. Select **Associated resources**.
5153
1. Select **Add**.
@@ -59,11 +61,13 @@ Access mode is set to **Transition** by default, allowing you to validate the co
5961
### Enable System-Assigned Identity on Event Grid System Topic
6062

6163
1. From your storage account, navigate to the **Events** tab.
64+
6265
1. Select the **System Topic** used to stream blob creation events to the storage queue.
6366

6467
:::image type="content" source="./media/enable-storage-network-security/select-event-system-topic.png" lightbox="./media/enable-storage-network-security/select-event-system-topic.png" alt-text="A screenshot showing the Event tab for Storage Accounts in the Azure portal.":::
6568

66-
1. Select **Identity**
69+
1. Select **Identity**.
70+
6771
1. On the **System assigned** tab, set the **Status** to **On**.
6872
1. Select **Save**.
6973
1. After saving, copy the **Object ID** of the managed identity for later use.
@@ -73,25 +77,26 @@ Access mode is set to **Transition** by default, allowing you to validate the co
7377

7478
### Grant RBAC permissions on the Storage Queue
7579

76-
1. Open the **Storage Account**
77-
1. Select **Access Control (IAM)**
78-
1. Select **Add**
79-
1. Search for and select the *Storage Queue Data Message Sender* role
80-
1. Select the **Members** tab and then **Select members**
80+
1. Navigate to your **Storage Account**.
81+
82+
1. Select **Access Control (IAM)**.
83+
1. Select **Add**.
84+
1. Search for and select the *Storage Queue Data Message Sender* role.
85+
1. Select the **Members** tab and then **Select members**.
8186
1. In the **Select members** pane, paste the Object ID for the Event Grid system topic managed identity created in the previous step
8287
1. Select the managed identity and then click **Select**
83-
1. Select **Review + assign** to complete the role assignment
84-
88+
1. Select **Review + assign** to complete the role assignment
8589
:::image type="content" source="./media/enable-storage-network-security/add-role-assignment.png" lightbox="./media/enable-storage-network-security/add-role-assignment.png" alt-text="A screenshot showing the assignment of the Storage Queue Data Message Sender role to a managed identity in the Azure portal.":::
8690

8791

8892
### Enable Managed Identity on the event subscription
8993

90-
1. Open the **Event Grid System Topic**
91-
1. Select the event subscription targeting the queue
92-
1. Select the **Additional settings** tab
93-
1. Set **Managed identity type** to **System-assigned**
94-
1. Select **Save**
94+
1. Open the **Event Grid System Topic**.
95+
96+
1. Select the event subscription targeting the queue.
97+
1. Select the **Additional settings** tab.
98+
1. Set **Managed identity type** to **System-assigned**.
99+
1. Select **Save**.
95100
1. Review the Event Grid subscriptions metrics to validate messages are still successfully published to the storage queue after this update.
96101

97102
:::image type="content" source="./media/enable-storage-network-security/set-additional-features.png" lightbox="./media/enable-storage-network-security/set-additional-features.png" alt-text="A screenshot showing the enabling of managed identity for an Event Grid subscription in the Azure portal.":::
@@ -105,16 +110,18 @@ The following rules are required to allow Event Grid to deliver messages to the
105110

106111
Event Grid delivery doesn't originate from fixed public IPs. The NSP validates delivery using subscription identity.
107112

108-
1. Navigate to Network Security Perimeter and select your NSP
109-
1. Select **Profiles** and then select the profile associated with your storage account
110-
1. Select **Inbound access rules** and then select **Add**
113+
1. Navigate to Network Security Perimeter and select your NSP.
114+
115+
1. Select **Profiles** and then select the profile associated with your storage account.
116+
1. Select **Inbound access rules** and then select **Add**.
111117

112118
:::image type="content" source="./media/enable-storage-network-security/inbound-access-rules.png" lightbox="./media/enable-storage-network-security/inbound-access-rules.png" alt-text="A screenshot showing the Inbound access rules page in the Azure portal.":::
113119

114-
1. Enter a **Rule name**, for example `Allow-Subscription`
115-
1. Select *Subscription* from the **Source type** drop-down
116-
1. Select your subscription from the **Allowed Sources** drop-down
117-
1. Select **Add** to create the rule
120+
1. Enter a **Rule name**, for example `Allow-Subscription`.
121+
122+
1. Select *Subscription* from the **Source type** drop-down.
123+
1. Select your subscription from the **Allowed Sources** drop-down.
124+
1. Select **Add** to create the rule.
118125

119126
:::image type="content" source="./media/enable-storage-network-security/add-inbound-rule.png" lightbox="./media/enable-storage-network-security/add-inbound-rule.png" alt-text="A screenshot showing the creation of an inbound access rule to allow a subscription in the Azure portal.":::
120127

@@ -125,20 +132,21 @@ Event Grid delivery doesn't originate from fixed public IPs. The NSP validates d
125132
#### Rule 2: Allow Scuba service IP ranges
126133

127134

128-
1. Create a second **Inbound access rules**
129-
1. Enter a **Rule name**, for example `Allow-Scuba`
130-
1. Select **IP address ranges** from the **Source type** drop-down
135+
1. Create a second **Inbound access rules**.
136+
137+
1. Enter a **Rule name**, for example `Allow-Scuba`.
138+
1. Select **IP address ranges** from the **Source type** drop-down.
131139
1. Open the [service tag download](/azure/virtual-network/service-tags-overview#discover-service-tags-by-using-downloadable-json-files) page.
132-
1. Select your cloud, for example **Azure Public**
140+
1. Select your cloud, for example **Azure Public** .
133141
1. Select the **Download** button and open the downloaded file to get the list of IP ranges.
134142
1. Find the `Scuba` service tag and copy the associated IPv4 ranges.
135143
1. Paste the IPv4 ranges into the **Allowed Sources** field after removing any quotes and trailing commas.
136-
1. Select **Add** to create the rule
144+
1. Select **Add** to create the rule.
137145

138-
> [!IMPORTANT]
139-
> Remove the quotes from the IP ranges and ensure that there's no trailing comma on the last entry before pasting them into the **Allowed Sources** field.
146+
> [!IMPORTANT]
147+
> Remove the quotes from the IP ranges and ensure that there's no trailing comma on the last entry before pasting them into the **Allowed Sources** field.
140148
141-
:::image type="content" source="./media/enable-storage-network-security/scuba-ipv4-addresses.png" lightbox="./media/enable-storage-network-security/scuba-ipv4-addresses.png" alt-text="A screenshot showing a part of the ServiceTags_Public.json file with the Scuba service tag and IPv4 ranges highlighted.":::
149+
:::image type="content" source="./media/enable-storage-network-security/scuba-ipv4-addresses.png" lightbox="./media/enable-storage-network-security/scuba-ipv4-addresses.png" alt-text="A screenshot showing a part of the ServiceTags_Public.json file with the Scuba service tag and IPv4 ranges highlighted.":::
142150

143151

144152
### Validate and enforce
@@ -153,11 +161,12 @@ Consider enabling network security perimeters diagnostic logs to review collecte
153161

154162
Once validation is successful set the access mode to **Enforced** as follows:
155163
1. From the Network Security Perimeter page, under **Settings**, select **Associated resources**.
164+
156165
1. Select the storage account.
157166
1. Select **Change access mode**.
158167
1. Select **Enforced** and then **Save**.
159168

160-
:::image type="content" source="./media/enable-storage-network-security/change-access-mode.png" lightbox="./media/enable-storage-network-security/change-access-mode.png" alt-text="A screenshot showing how to change the access mode of a storage account associated with a Network Security Perimeter in the Azure portal." :::
169+
:::image type="content" source="./media/enable-storage-network-security/change-access-mode.png" lightbox="./media/enable-storage-network-security/change-access-mode.png" alt-text="A screenshot showing how to change the access mode of a storage account associated with a Network Security Perimeter in the Azure portal." :::
161170

162171
### Post-enforcement validation
163172

@@ -169,11 +178,12 @@ Use the diagnostic logs to investigate and resolve any issues that arise. Review
169178

170179
Setting the storage account to **Secured by Perimeter** ensures that all traffic to the storage account is evaluated against the Network Security Perimeter rules. This adds an additional layer of security by enforcing that all access to the storage account goes through the perimeter.
171180

172-
1. Navigate to your **Storage Account**
173-
1. Under **Security + networking**, select **Networking**
174-
1. Under **Public network access**, select **Manage**
175-
3. Set **Secured by Perimeter (Most restricted)**
176-
4. Select **Save**
181+
1. Navigate to your **Storage Account**.
182+
183+
1. Under **Security + networking**, select **Networking**.
184+
1. Under **Public network access**, select **Manage**.
185+
3. Set **Secured by Perimeter (Most restricted)**.
186+
4. Select **Save**.
177187

178188
:::image type="content" source="./media/enable-storage-network-security/set-storage-networking.png" lightbox="./media/enable-storage-network-security/set-storage-networking.png" alt-text="A screenshot showing how to set a storage account to 'Secured by Perimeter' in the Azure portal.":::
179189

0 commit comments

Comments
 (0)