SentinelOne Zero Trust Singularity Data Lake Integration
Support Statement
This documentation is provided "as is" without support for 3rd party software. The level of support for this integration guide is best effort without any SLA on response time. No 3rd party product support can be provided by Superna directly. 3rd party components require support contracts. See EULA for more details.
Overview
Customers using SentinelOne Singularity Data Lake can leverage a native integration that initiates native API integration to send root cause detections with details into natively parsed log entries within Singularity Data Lake by Superna Security Edition.
Solution Overview
Superna Security Edition Zero Trust API receives webhook alerts from Security Edition and maps all relevant data fields into SentinelOne Singularity Data Lake.
Video Demo
Advanced Zero Trust Capabilities
- Superna Security Edition maps root cause events to native parsed log entries in SentinelOne Singularity Data Lake to be used in incident response and triggers
- Format of Zero Trust events are OCSF compliant
What Is SentinelOne?
SentinelOne is an Endpoint Detection and Response (EDR) solution that employs artificial intelligence and machine learning to detect, prevent, and respond to cyber threats.
SentinelOne Marketplace
The solution is documented in the SentinelOne Marketplace.
Integration Architecture

Solution Configuration in SentinelOne Singularity Data Lake and Security Edition Zero Trust
Prerequisites
- Installed Security Edition
- Eyeglass OS appliance version 15.5 — verify with
cat /etc/os-release - License key for the Zero Trust API
Configuration in SentinelOne Singularity Data Lake
- In Policies & Settings (left side menu), configure data ingest authentication by locating the Singularity Data Ingestion section.
- Select Data Ingestion.
- Click the API Keys tab.
- Create a Log Access Key with Write access.
- Give the key a name — for example,
Superna zero trust. - Record the API token — you will need it in the integration script.
Configuration Steps on Eyeglass Virtual Machine
High-Level Steps
- Create the Python location to run the application on the Eyeglass VM.
- Create the Python main application script.
- Create the Linux systemd service and set it to auto-start.
- Create the Zero Trust configuration in Security Edition.
- Update the main script to customize it with the SentinelOne Python code.
- Test the script is running as a service.
- Create a test event in Security Edition to validate alerts appear as indexed parsed events in SentinelOne.
Configure the Service Start and Python Integration Files
Log in to the Eyeglass VM via SSH as the admin user:
ssh admin@<your-vm-ip>
Become root:
sudo -s
mkdir -p /opt/superna/cgi-bin
chown -R sca:users /opt/superna/cgi-bin
chmod -R u+rwX,g+rwX /opt/superna/cgi-bin
Switch to the SCA user:
sudo -u sca -s
cd /opt/superna/cgi-bin
Create a Python virtual environment for the integration:
python3 -m venv venv-sentinelonesiem
source venv-sentinelonesiem/bin/activate
Install required Python packages:
pip install flask boto3 requests logging
deactivate
Create integration script files:
touch sentinelonesiem.py
touch sentinelonesiem.sh
chmod +x sentinelonesiem.py
chmod +x sentinelonesiem.sh
Create the sentinelonesiem.sh launch script:
nano /opt/superna/cgi-bin/sentinelonesiem.sh
Paste the following content into the file:
#!/bin/bash
export PATH="/opt/.pyenv/bin:$PATH"
source /opt/superna/cgi-bin/venv-sentinelonesiem/bin/activate
exec python /opt/superna/cgi-bin/sentinelonesiem.py
Make the script executable:
chmod +x /opt/superna/cgi-bin/sentinelonesiem.sh
Exit back to root:
exit
whoami # confirm you are root
Create the systemd service unit file:
nano /etc/systemd/system/sentinelonesiem.service
Paste the following content into the file:
[Unit]
Description=Webhook listener for Zero Trust API translations and integrations
After=network.target
[Service]
Type=simple
User=sca
Group=users
WorkingDirectory=/opt/superna/cgi-bin
ExecStart=/bin/bash /opt/superna/cgi-bin/sentinelonesiem.sh
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Reload systemd to register the new service:
systemctl daemon-reload
Enable the service to start on boot (do not start it yet):
systemctl enable sentinelonesiem
Configure Python Packages and Customize the Integration Code
-
Download the Python template code from the link to download (right-click, save as).
-
Open the Python template file in a text editor. Only replace the placeholder values — do not delete any commas.
-
Locate the section
# Replace with your SentinelOne HEC token and URLand add your SentinelOne API token and endpoint. Review the HTTP Event Collector (HEC) guide to determine your ingestion URL:# Replace with your SentinelOne HEC token and URL
SENTINELONE_HEC_TOKEN = 'xxxxxxxxxx'
SENTINELONE_HEC_URL = 'https://ingest.us1.sentinelone.net/services/collector/event' -
Open the production file on the Eyeglass VM:
nano /opt/superna/cgi-bin/sentinelonesiem.py -
Open the template file locally in Notepad, select all (Ctrl+A), and copy.
-
Paste the clipboard into the SSH terminal session with the open nano editor.
-
Save the file:
- Press Ctrl+X
- Answer Yes to save and exit
-
Start the service and verify it is running:
systemctl start sentinelonesiem
systemctl status -l sentinelonesiemVerify the service returns "active and running". If the service does not start, do not proceed — double-check the steps above.
Configure Security Edition Zero Trust Webhooks
-
Configure the Zero Trust endpoint in the Ransomware Security Edition Zero Trust tab.
Recommended ConfigurationSend only Critical and Major events, and only webhooks that set lockout or delayed lockout. The goal is to send findings rather than a list of alarms that do not pinpoint a security incident. Customers can customize based on specific requirements.
-
The endpoint URL uses localhost and sends webhooks to the application service listening on port 5000:
http://localhost:5000/webhook -
Add the Content-Type header with value application/json to complete the webhook configuration.
-
Click Save to commit the configuration.
-
Click Save on the main Webhook configuration page.
How to Test the Integration with SentinelOne Singularity Data Lake
- Create a banned file extension type in the Security Edition File Filter list.
- Using a Windows client PC, mount an SMB share protected by Security Edition and create at least 100 files with the banned extension.
- Verify the PC is locked out and an event is generated in the console.
- Check the SentinelOne Singularity Data Lake console to verify the events were processed.
SentinelOne Singularity Data Lake SecOps Administrators Integration Experience
Once configured, Superna Security Edition integration with SentinelOne enables real-time alert ingestion. Search for Superna events using:
metadata.vendor_name = "Superna"
Events appear as native parsed entries in the Singularity Data Lake console.