↳ GitHub sourceConnector

Duo Security

Description

The [Duo Security](https://duo.com/) data connector provides the capability to ingest log data into Azure Sentinel through the Duo Security Admin API. The connector provides visibility into activity logs from the service. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation
Declared status
1
Declared author / publisher
Duo

Declared sources

Metadata from the source file. No dependencies inferred from KQL.

Data types

Declared permissions

read and write permissions on the workspace are required.
Workspace
Workspace
read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).
Keys
Workspace
Microsoft.Web/sites permissions
Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/).
Duo Security Admin API
A Duo Security Admin API Integration Key, Secret Key and API Hostname is required. [See the documentation to learn more about Duo Security Admin API](https://duo.com/docs/adminapi).

Connector instructions

Content published in the repository. Refer to the original file for all parameters.

>**NOTE:** This connector uses Azure Functions to connect to Duo Security to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details.
>**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App.
**STEP 1 - Configuration steps for the Duo Security Admin API** 1. Log into the Duo Admin Panel with an administrator account, select **Application**. 2. Click on the **Protect an Application** button and locate the entry for **Admin API**. Click **Protect** 3. Copy you **integration key**, **secret key** and **api hostname**. 4. Check the box to **Grat read log** permissions.
**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function** >**IMPORTANT:** Before deploying the Duo Security connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Duo Security integration key, secret key and api host, readily available.
Workspace ID
Primary Key
Option 1 - Azure Resource Manager (ARM) Template
Use this method for automated deployment of the Duo Security connector using an ARM Tempate. 1. Click the **Deploy to Azure** button below. [![Deploy To Azure](https://aka.ms/sentinel-duosecurity-azuredeploy)](https://aka.ms/sentinelduosecurityazuredeploy) 2. Select the preferred **Subscription**, **Resource Group** and **Location**. 3. Enter the **Workspace ID**, **Workspace Key**, **Integration Key**, **Secret Key** , and **API Host**. - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Environment varibles **Schedule** and **timeInterval**. > - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. 4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. 5. Click **Purchase** to deploy.
Option 2 - Manual Deployment of Azure Functions
Use the following step-by-step instructions to deploy the Duo Security connector manually with Azure Functions.
**1. Create a Function App** 1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**. 2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. 3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected. 4. Make other preferrable configuration changes, if needed, then click **Create**.
**2. Import Function App Code** 1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**. 2. Select **Timer Trigger**. 3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**. 5. Click on **Code + Test** on the left pane. 6. Copy the [Function App Code](https://aka.ms/sentinel-duosecurity-functioncode) and paste into the Function App `run.ps1` editor. 7. Click **Save**.
**3. Configure the Function App** 1. In the Function App, select the Function App Name and select **Configuration**. 2. In the **Application settings** tab, select **+ New application setting**. 3. Add each of the following seven (6) application settings individually, with their respective string values (case-sensitive): iKey sKey apiServer timeInterval timeInterval workspaceID workspaceKey > - The `apiServer` value must follow the following schema: `api-<something>.duosecurity.com`. > - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion. > - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. 4. Once all application settings have been entered, click **Save**.

Source provenance

GitHub

Displayed values come from files in Azure/Azure-Sentinel. They describe the published template, not your workspace configuration.

Source identifier
DuoSecurity
Additional source files 1DataConnectors/Duo Security/DuoSecurity_API_FunctionApp.jsonsource ↗
GSTEP / CATALOG TRACKING

Added to catalog : 16 Sept 2026 · 05:49 UTC
Last change observed : 16 Sept 2026 · 05:49 UTC

GSTEP sync dates, separate from the source content’s publication dates.