|
| 1 | +--- |
| 2 | +title: Schemas for the Azure Security Center alerts |
| 3 | +description: This article describes the different schemas used by Azure Security Center for security alerts. |
| 4 | +services: security-center |
| 5 | +documentationcenter: na |
| 6 | +author: memildin |
| 7 | +manager: rkarlin |
| 8 | +ms.service: security-center |
| 9 | +ms.devlang: na |
| 10 | +ms.topic: conceptual |
| 11 | +ms.tgt_pltfrm: na |
| 12 | +ms.workload: na |
| 13 | +ms.date: 03/10/2020 |
| 14 | +ms.author: memildin |
| 15 | + |
| 16 | +--- |
| 17 | + |
| 18 | +# Security alerts schemas |
| 19 | + |
| 20 | +Azure Security Center's advanced threat protection mechanisms generate security alerts when they detect threats to your resources. |
| 21 | + |
| 22 | +These alerts are only available to users of the standard tier. |
| 23 | + |
| 24 | +Security alerts can be seen in Azure Security Center's Threat Protection pages. They can also be accessed from: |
| 25 | + |
| 26 | +- [Azure Sentinel](https://docs.microsoft.com/azure/sentinel/) |
| 27 | + |
| 28 | +- [Azure Event Hubs](https://docs.microsoft.com/azure/event-hubs/) using Security Center's [continuous export feature](continuous-export.md) for integrations with third-party SIEMs |
| 29 | + |
| 30 | +- [The REST API](https://docs.microsoft.com/rest/api/securitycenter/) - If you're using the REST API to access alerts, see the [online Alerts API documentation](https://docs.microsoft.com/rest/api/securitycenter/alerts) |
| 31 | + |
| 32 | +- [Log Analytics workspaces](https://docs.microsoft.com/azure/azure-monitor/learn/quick-create-workspace) |
| 33 | + |
| 34 | +If you're using any programmatic methods to consume the alerts, you'll need the correct schema to find the fields that are relevant to you. In addition, when exporting to an Event Hub or when triggering Workflow Automation with generic HTTP connectors, you could use the schemas to properly parse the JSON objects. |
| 35 | + |
| 36 | +>[!IMPORTANT] |
| 37 | +> The schema is slightly different for each of these scenarios, so make sure you select the relevant tab below. |
| 38 | +
|
| 39 | + |
| 40 | +## The schemas |
| 41 | + |
| 42 | + |
| 43 | +### [Workflow automation and continuous export to Event Hub](#tab/schema-continuousexport) |
| 44 | + |
| 45 | +### Sample JSON for alerts sent to Logic Apps, Event Hub, and third-party SIEMs |
| 46 | + |
| 47 | +This is the schema of the alert events passed to: |
| 48 | + |
| 49 | +- Azure Logic App instances that were configured in Security Center's workflow automation |
| 50 | +- Azure Event Hub using Security Center's continuous export feature |
| 51 | + |
| 52 | +For more information about the workflow automation feature see [Automate responses to alerts and recommendations](workflow-automation.md). |
| 53 | +For more information about continuous export, see [Export alerts and recommendations](continuous-export.md). |
| 54 | + |
| 55 | +[!INCLUDE [Workflow schema](../../includes/security-center-alerts-schema-workflow-automation.md)] |
| 56 | + |
| 57 | + |
| 58 | + |
| 59 | + |
| 60 | +### [Azure Sentinel and Log Analytics workspaces](#tab/schema-sentinel) |
| 61 | + |
| 62 | +The Sentinel Connector gets alerts from Azure Security Center and sends them to the Log Analytics Workspace for Azure Sentinel. |
| 63 | + |
| 64 | +To create a Sentinel case or incident using Security Center alerts, you'll need the schema for those alerts shown below. |
| 65 | + |
| 66 | +For more information about Azure Sentinel, see [the documentation](https://docs.microsoft.com/azure/sentinel/). |
| 67 | + |
| 68 | +[!INCLUDE [Sentinel and workspace schema](../../includes/security-center-alerts-schema-log-analytics-workspace.md)] |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | +### [Azure Activity Log](#tab/schema-activitylog) |
| 74 | + |
| 75 | +Azure Security Center audits generated Security alerts as events in Azure Activity Log. |
| 76 | + |
| 77 | +You can view the security alerts events in Activity Log by searching for the Activate Alert event as shown: |
| 78 | + |
| 79 | +[](media/alerts-schemas/sample-activity-log-alert.png#lightbox) |
| 80 | + |
| 81 | + |
| 82 | +### Sample JSON for alerts sent to Azure Activity Log |
| 83 | + |
| 84 | +```json |
| 85 | +{ |
| 86 | + "channels": "Operation", |
| 87 | + "correlationId": "2518250008431989649_e7313e05-edf4-466d-adfd-35974921aeff", |
| 88 | + "description": "PREVIEW - Role binding to the cluster-admin role detected. Kubernetes audit log analysis detected a new binding to the cluster-admin role which gives administrator privileges.\r\nUnnecessary administrator privileges might cause privilege escalation in the cluster.", |
| 89 | + "eventDataId": "2518250008431989649_e7313e05-edf4-466d-adfd-35974921aeff", |
| 90 | + "eventName": { |
| 91 | + "value": "PREVIEW - Role binding to the cluster-admin role detected", |
| 92 | + "localizedValue": "PREVIEW - Role binding to the cluster-admin role detected" |
| 93 | + }, |
| 94 | + "category": { |
| 95 | + "value": "Security", |
| 96 | + "localizedValue": "Security" |
| 97 | + }, |
| 98 | + "eventTimestamp": "2019-12-25T18:52:36.801035Z", |
| 99 | + "id": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.Security/locations/centralus/alerts/2518250008431989649_e7313e05-edf4-466d-adfd-35974921aeff/events/2518250008431989649_e7313e05-edf4-466d-adfd-35974921aeff/ticks/637128967568010350", |
| 100 | + "level": "Informational", |
| 101 | + "operationId": "2518250008431989649_e7313e05-edf4-466d-adfd-35974921aeff", |
| 102 | + "operationName": { |
| 103 | + "value": "Microsoft.Security/locations/alerts/activate/action", |
| 104 | + "localizedValue": "Activate Alert" |
| 105 | + }, |
| 106 | + "resourceGroupName": "RESOURCE_GROUP_NAME", |
| 107 | + "resourceProviderName": { |
| 108 | + "value": "Microsoft.Security", |
| 109 | + "localizedValue": "Microsoft.Security" |
| 110 | + }, |
| 111 | + "resourceType": { |
| 112 | + "value": "Microsoft.Security/locations/alerts", |
| 113 | + "localizedValue": "Microsoft.Security/locations/alerts" |
| 114 | + }, |
| 115 | + "resourceId": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME/providers/Microsoft.Security/locations/centralus/alerts/2518250008431989649_e7313e05-edf4-466d-adfd-35974921aeff", |
| 116 | + "status": { |
| 117 | + "value": "Active", |
| 118 | + "localizedValue": "Active" |
| 119 | + }, |
| 120 | + "subStatus": { |
| 121 | + "value": "", |
| 122 | + "localizedValue": "" |
| 123 | + }, |
| 124 | + "submissionTimestamp": "2019-12-25T19:14:03.5507487Z", |
| 125 | + "subscriptionId": "SUBSCRIPTION_ID", |
| 126 | + "properties": { |
| 127 | + "clusterRoleBindingName": "cluster-admin-binding", |
| 128 | + "subjectName": "for-binding-test", |
| 129 | + "subjectKind": "ServiceAccount", |
| 130 | + "username": "masterclient", |
| 131 | + "actionTaken": "Detected", |
| 132 | + "resourceType": "Kubernetes Service", |
| 133 | + "severity": "Low", |
| 134 | + "intent": "[\"Persistence\"]", |
| 135 | + "compromisedEntity": "ASC-IGNITE-DEMO", |
| 136 | + "remediationSteps": "[\"Review the user in the alert details. If cluster-admin is unnecessary for this user, consider granting lower privileges to the user.\"]", |
| 137 | + "attackedResourceType": "Kubernetes Service" |
| 138 | + }, |
| 139 | + "relatedEvents": [] |
| 140 | +} |
| 141 | +``` |
| 142 | + |
| 143 | +### The data model of the schema |
| 144 | + |
| 145 | +|Field|Description| |
| 146 | +|----|----| |
| 147 | +|**channels**|Constant, "Operation"| |
| 148 | +|**correlationId**|The Azure Security Center alert ID| |
| 149 | +|**description**|Description of the alert| |
| 150 | +|**eventDataId**|See correlationId| |
| 151 | +|**eventName**|The value and localizedValue sub-fields contain the alert display name| |
| 152 | +|**category**|The value and localizedValue sub-fields are constant - "Security"| |
| 153 | +|**eventTimestamp**|UTC timestamp for when the alert was generated| |
| 154 | +|**id**|The fully qualified alert ID| |
| 155 | +|**level**|Constant, "Informational"| |
| 156 | +|**operationId**|See correlationId| |
| 157 | +|**operationName**|The value field is constant - "Microsoft.Security/locations/alerts/activate/action", and the localized value will be "Activate Alert" (can potentially be localized par the user locale)| |
| 158 | +|**resourceGroupName**|Will include the resource group name| |
| 159 | +|**resourceProviderName**|The value and localizedValue sub-fields are constant - "Microsoft.Security"| |
| 160 | +|**resourceType**|The value and localizedValue sub-fields are constant - "Microsoft.Security/locations/alerts"| |
| 161 | +|**resourceId**|The fully qualified Azure resource ID| |
| 162 | +|**status**|The value and localizedValue sub-fields are constant - "Active"| |
| 163 | +|**subStatus**|The value and localizedValue sub-fields are empty| |
| 164 | +|**submissionTimestamp**|The UTC timestamp of event submission to Activity Log| |
| 165 | +|**subscriptionId**|The subscription ID of the compromised resource| |
| 166 | +|**properties**|A JSON bag of additional properties pertaining to the alert. These can change from one alert to the other, however, the following fields will appear in all alerts:<br>- severity: The severity of the attack<br>- compromisedEntity: The name of the compromised resource<br>- remediationSteps: Array of remediation steps to be taken<br>- intent: The kill-chain intent of the alert. Possible intents are documented in the [Intentions table](alerts-reference.md#intentions)| |
| 167 | +|**relatedEvents**|Constant - empty array| |
| 168 | +||| |
| 169 | + |
| 170 | + |
| 171 | + |
| 172 | + |
| 173 | + |
| 174 | +### [MS Graph API](#tab/schema-graphapi) |
| 175 | + |
| 176 | +Microsoft Graph is the gateway to data and intelligence in Microsoft 365. It provides a unified programmability model that you can use to access the tremendous amount of data in Office 365, Windows 10, and Enterprise Mobility + Security. Use the wealth of data in Microsoft Graph to build apps for organizations and consumers that interact with millions of users. |
| 177 | + |
| 178 | +The schema and a JSON representation for security alerts sent to MS Graph, are available in [the Microsoft Graph documentation](https://docs.microsoft.com/graph/api/resources/alert?view=graph-rest-1.0). |
| 179 | + |
| 180 | +--- |
| 181 | + |
| 182 | + |
| 183 | +## Next steps |
| 184 | + |
| 185 | +This article described the schemas that Azure Security Center's threat protection tools use when sending security alert information. |
| 186 | + |
| 187 | +For more information on the ways to access security alerts from outside Security Center, see the following: |
| 188 | + |
| 189 | +- [Azure Sentinel](https://docs.microsoft.com/azure/sentinel/) - Microsoft's cloud-native SIEM |
| 190 | +- [Azure Event Hubs](https://docs.microsoft.com/azure/event-hubs/) - Microsoft's fully managed, real-time data ingestion service |
| 191 | +- Security Center's [continuous export feature](continuous-export.md) |
| 192 | + |
| 193 | +- [Log Analytics workspaces](https://docs.microsoft.com/azure/azure-monitor/learn/quick-create-workspace) - Azure Monitor stores log data in a Log Analytics workspace, a container that includes data and configuration information |
0 commit comments