

You have many options to interface with Microsoft Sentinel using APIs, and what method you choose will depend on what you're ultimately trying to achieve and your organization's use cases. The API and the different ways to use it are discussed in the custom connectors blog post. The maximum number of characters for the column name is 500.įor up to date limitations of the HTTP Data Collector API, please see here.A table in a Log Analytics workspace only supports up to 500 columns (referred to as a field in this article).This is a practical limit from a usability and search experience perspective. Recommended maximum number of fields for a given type is 50.If the field value is greater than 32 KB, the data will be truncated. Maximum of 32 KB limit for field values.If the data from a single post that exceeds 30 MB, you should split the data up to smaller sized chunks and send them concurrently. Maximum of 30 MB per post to Azure Monitor Data Collector API.There are some constraints around the data posted to the HTTP Data Collector API. Then, pass that signature as part of the request. To authenticate a request, you must sign the request with either the primary or the secondary key for the workspace that is making the request. We've put together a simple C# console application to demonstrate how you can leverage the HTTP Data Collector API to post data to Log Analytics custom logs, click here for details.Īny request to the Azure Monitor HTTP Data Collector API must include an authorization header. More details about this connector can be found here. This might be a runbook in Azure Automation that collects management data from Azure or another cloud, or it might be an alternate management system that uses Azure Monitor to consolidate and analyze log data. You can use the HTTP Data Collector API to send log data to a Log Analytics from any client that can call a REST API. Logic Apps Azure Monitor logs connector.PowerShell script - now includes CSV export.There are some tools that already use the API and can make life simpler: See this for details.įor up to date limitations of the Log Analytics API, please see here. Queries cannot run longer than 10 minutes by default.Queries cannot return more than 64,000,000 bytes (~61 MiB total data).Queries cannot return more than 500,000 rows.*Adhering to the principle of least privilege, always grant the lowest possible permissions required to your API.Īs well as call rate limits and daily quota caps, there are also limits on queries themselves: Next, go to the IAM section of your Sentinel Log Analytics workspace and grant "Log Analytics Reader" or “Log Analytics Contributor” permission to the application*: To authenticate to the Log Analytics API, you need to register an app in Azure AD and grant the app Data.Read permissions to the Log Analytics API: *Please refer to the GitHub repo for a comprehensive list of API uses.Įxample API call GET /query?query=AzureActivity%20|%20summarize%20count()%20by%20Category The GitHub repo link to our API branches can be found here, and the MS Docs article about the Sentinel Management API can be found here. The Sentinel Management API allows you to manage aspects of Microsoft Sentinel specifically outside of Log Analytics e.g. The below diagram summarizes where the different APIs within Sentinel sit architecturally and what calls can be made to them: We can categorize Microsoft Sentinel APIs as follows: MessageDlg(E.We also have an accompanying bitesize video on the Microsoft Security Channel for this topic here. Restclient1.ContentType := 'ctAPPLICATION_X_WWW_FORM_URLENCODED' //application/x-www-form-urlencoded' SAuthorization := 'Basic justasamplekeyhere123:alsoatesthmacsha1hash'

NDate := formatdatetime('ddd, d mmm yyyy hh:mm:ss', now()) + ' +1000' SAuthorization, nDate, sUsername, sPassword : string Procedure TfrmMain.Button1Click(Sender: TObject) RESTRequest1 Resource is set to this standard resource: admin/v1/users Below is my sample code: //aside from the parameters below

However, I cannot replicate the same in Delphi REST. I was able to test my authorization keys and all other parameters in Postman just fine. I'm creating a Delphi REST Client to interact with the DUO API.
