For the complete documentation index, see llms.txt. This page is also available as Markdown.

SIEM

This page issues a read-only SAS URL that lets an external SIEM or script query CIPP's log table directly through the Azure Table Storage REST API, without going through the CIPP API. It also documents how those logs are structured so you can write sensible queries against them.

CIPP Logs Table Access

Setting
Description

Token Validity

How long the SAS URL remains valid. Presets run from 30 days to 3650 days (10 years), and the default is 365 days. A custom value in days can be typed directly, and must be between 1 and 3650.

Selecting Generate SAS Token produces two pieces of information.

Output
Description

SAS URL

The full URL to query, including the token and a format parameter that returns JSON without metadata. A copy button sits at the end of the field.

Expires On

The date and time the URL stops working, shown in your local time.

1

Choose a validity period

Set Token Validity to how long the SIEM connection should last. Prefer the shortest period that avoids a renewal you will forget about.

2

Generate

Select Generate SAS Token. The SAS URL and its expiry appear beneath the form.

3

Store it securely

Copy the URL into your SIEM configuration and your password manager or documentation before leaving the page.

The URL is scoped to the CippLogs table with read permission only. It cannot be used to write log entries, and it cannot reach any other table in the storage account, so sharing it with a SIEM does not expose the rest of your CIPP data.

Querying CIPP Logs

How Logs Are Stored

CIPP writes all log entries to an Azure Table Storage table called CippLogs. Each row is partitioned by date using the format YYYYMMDD as the PartitionKey, with a unique GUID as the RowKey.

Available Columns

Column
Description

PartitionKey

Date in YYYYMMDD format.

RowKey

Unique log entry ID (GUID).

Timestamp

When the entry was written.

Tenant

Tenant domain name.

Username

User who triggered the action.

API

API endpoint or function name.

Message

Log message text.

Severity

Log level, one of Info, Warning, Error or Debug.

LogData

Additional JSON data, where present.

TenantID

Tenant GUID, where available.

IP

Source IP address, where available.

Example Filter Queries

Append &$filter= to your SAS URL to filter results. The operators eq, ne, gt, lt, ge and le are supported, and conditions can be combined with and and or.

A specific day:

Replace YYYYMMDD with the date you want, for example 20260312.

A date range covering the last seven days:

Further Reading


Feature Requests/Ideas

We value your feedback and ideas. Please raise any feature requests on GitHub.

Last updated

Was this helpful?