This guide walks through setting up Microsoft Azure Sentinel to receive Enpass audit logs using the Logs Ingestion API. You'll create a Microsoft Entra app registration for API authentication, a Data Collection Endpoint (DCE) to receive incoming data, and a Data Collection Rule (DCR) to define how logs are routed to your Log Analytics workspace. Once the Azure resources are configured, you'll enter the collected credentials in the Enpass Admin Console to complete the integration.
Migration Alert! If you have already configured the Enpass–Sentinel integration using a Workspace ID and Primary Key, you must complete the migration using this guide before September 2026 to avoid a gap in log delivery.
Prerequisites
Before you begin, ensure you have:
-
An Azure subscription.
-
Permissions to create Azure resources.
-
Permission to create Microsoft Entra applications and assign Azure roles.
-
Access to the Log Analytics Workspace where Enpass audit logs will be stored.
Configuration
Complete the following steps to configure Microsoft Sentinel for Enpass.
Step 1 – Create a Microsoft Entra Application
Create a Microsoft Entra application and generate a client secret by following Microsoft's official documentation.
Microsoft Documentation
Record the following values after completing this step:
|
Azure Portal |
Enpass Configuration |
|---|---|
|
Directory (Tenant) ID |
AZURE_TENANT_ID |
|
Application (Client) ID |
AZURE_CLIENT_ID |
|
Client Secret Value |
AZURE_CLIENT_SECRET |
Important
The Client Secret Value is displayed only once during creation. Store it securely, as it will be required when configuring the Enpass integration.
Step 2 – Create or Select a Log Analytics Workspace (Optional)
Enpass audit logs are stored in a Log Analytics Workspace.
If you already have a Log Analytics Workspace or Microsoft Sentinel deployment, you can reuse it. Otherwise, create a new workspace by following Microsoft's documentation.
Microsoft Documentation
https://learn.microsoft.com/en-in/azure/azure-monitor/logs/quick-create-workspace?tabs=azure-portal
Important
Note the Azure region of your Log Analytics Workspace. The Data Collection Endpoint (DCE) created in the next step must be deployed in the same region.
Step 3 – Create a Data Collection Endpoint (DCE)
Create a Data Collection Endpoint (DCE) by following Microsoft's documentation.
Microsoft Documentation
After the DCE is created, copy the Logs ingestion URI.
This value will be used later as: AZURE_DCE_URI
Step 4 – Create the Custom Table and Data Collection Rule (DCR)
Create a custom table and Data Collection Rule (DCR) by following Microsoft's official documentation.
Microsoft Documentation
During the setup, Azure will prompt you to upload a sample JSON file to generate the table schema. Use the sample provided below.
Sample JSON
Create a file named sample-logs.json and copy the following content into it.
[
{
"id": "00000000-0000-0000-0000-000000000001",
"category": "user",
"component": "application",
"action": "shared_vault_permission_updated",
"description": "Updated 2 user(s) permissions for the shared vault to Read-only.",
"actor": "alice.doe@example.com",
"target": null,
"timestamp": "1700000000",
"ip_address": "203.0.113.10",
"severity": "MEDIUM",
"device": {
"os": "osx",
"name": "Example Desktop",
"device_type": "desktop"
},
"software": {
"version": "6.11.10",
"code": "com.example.enpass.desktop"
},
"data": {
"permission": {
"is_manager": false,
"is_readonly": true,
"is_autofill_only": false
},
"target_users_count": 2
}
},
{
"id": "00000000-0000-0000-0000-000000000002",
"category": "organization",
"component": "application",
"action": "password_rule_added",
"description": "Added a new password rule for default_recipe.",
"actor": "bob.smith@example.org",
"target": null,
"timestamp": "1700000600",
"ip_address": "198.51.100.23",
"severity": "LOW",
"device": {},
"software": {},
"data": {}
}
]
Note
This file contains sample data only and is used solely for generating the table schema during setup. No real Enpass audit data is included.
Configure the Transformation
Enpass sends the timestamp field as a Unix epoch (in seconds). Configure the following transformation so Azure converts it into the required TimeGenerated field.
Replace the default transformation with:
source
| extend TimeGenerated = iif(
isnotempty(timestamp) and timestamp != "null",
datetime_add('second', tolong(timestamp), todatetime('1970-01-01')),
now()
)
Run the transformation to verify that the TimeGenerated column is populated successfully.
Step 5 – Assign Required Permissions
The Microsoft Entra application created earlier must be granted permission to send logs through the Data Collection Rule.
Assign the Monitoring Metrics Publisher role to the application on the Data Collection Rule (DCR) by following Microsoft's documentation.
Microsoft Documentation
Important
Role assignments can take up to 30 minutes to propagate. If log ingestion initially fails with an HTTP 403 Forbidden error, wait for the permissions to take effect before troubleshooting further.
Optional
Assigning the Log Analytics Contributor role to the Microsoft Entra application is not required for Enpass log ingestion. This permission is only needed if your organization requires the application to manage Log Analytics workspace resources. For standard deployments, only the Monitoring Metrics Publisher role on the Data Collection Rule (DCR) is required.
Step 6 – Collect the Remaining Configuration Values
Open the Data Collection Rule (DCR) created in the Step 4 and collect the following values.
|
Azure Portal |
Enpass Configuration |
|---|---|
|
Immutable ID |
AZURE_DCR_ID |
|
Stream Name |
AZURE_STREAM_NAME |
The Stream Name is listed under streamDeclarations in the DCR JSON and typically follows the format like:
Custom-EnpassAuditLogs_CL
At this point, you should have all six values required to configure the Enpass SIEM integration.
|
Azure Value |
Enpass Configuration |
|---|---|
|
Directory (Tenant) ID |
AZURE_TENANT_ID |
|
Application (Client) ID |
AZURE_CLIENT_ID |
|
Client Secret Value |
AZURE_CLIENT_SECRET |
|
Logs Ingestion URI |
AZURE_DCE_URI |
|
DCR Immutable ID |
AZURE_DCR_ID |
|
Stream Name |
AZURE_STREAM_NAME |
Step 7 – Integrate with Enpass Admin Console
-
Log in to the Enpass Admin Console.
-
Navigate to Settings > Event Logs.
-
Under the SIEM Integration section, click Configure.
-
Select Microsoft Sentinel from the list and click Continue.
-
Enter the 6 credentials we have gathered above in the form.
-
Click Verify & Save. This will trigger a test connection event.
-
In the Azure Portal, open the log analytics workspace and go to Logs.
-
Run this query: (replace with your table name)
EnpassAuditLogs_CL
| take 20
-
You should see rows, with a populated
TimeGeneratedcolumn.
The first data can take 5 to 15 minutes to show up after the first batch if event logs.
Troubleshooting
|
Issue |
Possible Cause |
Resolution |
|---|---|---|
|
HTTP 401 Unauthorized |
Invalid or expired client secret, or the Secret ID was used instead of the Client Secret Value. |
Generate a new client secret if required and update AZURE_CLIENT_SECRET in the Enpass Admin Console. Ensure the Client Secret Value is used. |
|
HTTP 403 Forbidden |
The Microsoft Entra application does not have permission to use the Data Collection Rule, or the role assignment has not yet propagated. |
Verify that the application has the Monitoring Metrics Publisher role on the DCR. Allow up to 30 minutes for Azure role assignments to propagate. |
|
HTTP 404 Not Found |
Incorrect DCR Immutable ID or Stream Name. |
Verify AZURE_DCR_ID and AZURE_STREAM_NAME. The stream name should match the value defined in the DCR (for example, |
|
No logs appear in Log Analytics |
Initial ingestion delay or incorrect DCR transformation. |
Allow up to 15 minutes for the first logs to appear. If the issue persists, verify that the transformation query was configured correctly. |
|
TimeGenerated is empty or incorrect |
Missing or modified transformation query. |
Reopen the DCR transformation editor and reapply the transformation query provided in this guide. |
|
Log ingestion stopped after working previously |
The client secret has expired. |
Generate a new client secret, update AZURE_CLIENT_SECRET in the Enpass Admin Console, and save the configuration. |
Renewing the Client Secret
Client secrets have a configurable expiration period. Once the client secret expires, Enpass will no longer be able to authenticate with Azure, and log ingestion will stop.
To restore log ingestion:
-
Generate a new client secret for the Microsoft Entra application.
-
Update the AZURE_CLIENT_SECRET value in the Enpass Admin Console.
-
Save the configuration.
No other configuration values need to be changed.
References