Skip to content

Microsoft Sentinel: Iris Enrich

The Iris Enrich integration provides high-volume domain enrichment capabilities with the same comprehensive data as Iris Investigate, but optimized for faster processing. It supports up to 60 requests per minute, making it ideal for enriching large volumes of domain indicators.

  • A Microsoft Power Apps or Power Automate plan with custom connector feature
  • An Azure subscription
  • A DomainTools API Key provisioned for Iris Enrich

The Iris Enrich connector is included with the Iris Investigate solution:

  1. Go to the DomainTools Iris Investigate for Microsoft Sentinel page
  2. Select Get It Now
  3. Follow the guided installation steps provided by Microsoft

Alternatively, the solution is available in Content Hub within Microsoft Sentinel.

Reference playbooks are available to automate common workflows.

To install a playbook:

  1. Navigate to Automation → Playbook templates
  2. Search for “DomainTools”
  3. Select the desired Iris Enrich playbook
  4. Select Create playbook
  5. Follow the installation steps

After installation, each Logic App needs to be configured with your Iris Enrich API credentials.

  1. Open each playbook in Logic App designer
  2. On first use, select Change Connection then Add new
  3. Enter your DomainTools Iris Enrich API username and key (include dashes)
  4. Select Create then Save
  5. On subsequent Logic App connections, simply select the existing connection

Each Logic App needs permission to add comments to incidents.

  1. From the Sentinel environment, go to Settings → Workspace Settings → IAM → Add role assignment → Microsoft Sentinel Responder

  2. On the next screen, assign access to Managed identity → Select Members → Logic App

  3. Select each playbook you just added

  4. Select Review + assign

  5. Select Microsoft Sentinel Responder under the role assignment

  6. Select Managed identity, filter for the Logic Apps, and select each of the playbooks you just added

  7. In case of any existing apps with permissions, a failure notice for the duplicate may appear that can be ignored

The app is now configured.

These playbooks are available in the Azure repository on GitHub.

PlaybookDescription
DomainTools Iris Enrich Domain PlaybookGiven a domain or set of domains associated with an incident, return whois, mail server, DNS, SSL and related indicators from Iris Enrich. Iris Enrich supports up to 60 calls per minute (compared to 20 on Iris Investigate) and requires separate account provisioning.
ActionDescription
Enrich DomainRetrieves the infrastructure and whois data associated with a domain or comma-separated list of up to 100 domains. The Iris Enrich endpoint supports up to 60 requests per minute.
Retrieve Account InformationInformation of the active API endpoints, rate limits and usage for an account.

Once the playbooks are installed, you can trigger them using the Automated Response section of Analytic rules in Sentinel. Verify that the incident contains items mapped as a host to get started.

After an incident is created (or as a shortcut for testing, you may right-click an existing incident with the appropriate entity type and re-run the automation). If run successfully, the output appears as a comment on the ticket.

FeatureIris InvestigateIris Enrich
Rate Limit20 requests/min60 requests/min
Use CaseDeep investigation with pivotsHigh-volume enrichment
Pivot ActionsYes (15+ actions)No
Data ReturnedFull datasetFull dataset
Account ProvisioningStandardRequires separate provisioning

Using Domain Playbooks with DNS Domain Names

Section titled “Using Domain Playbooks with DNS Domain Names”

Referencing Microsoft’s entity reference, the provided domain playbooks expect input type host.

You can modify them to use a DNS Domain name type. Starting with the logic app open in code view:

  1. Find and replace _Get_Hosts with _Get_DNS (3 occurrences)
  2. Find and replace /entities/host with /entities/dnsresolution (1 occurrence, under Entities_-_Get_DNS)
  3. Find and replace @body('Entities_-_Get_DNS')?['Hosts'] with @body('Entities_-_Get_DNS')?['Dnsresolutions'] (1 occurrence)
  4. For DomainTools_Iris_Enrich-Domain_Playbook:
    • Find and replace @variables('host_name') with @items('For_each_Host')?['DomainName'] (1 occurrence)
    • Find and replace @{variables('host_name')}.@{variables('dns_name')} with @items('For_each_Host')?['DomainName'] (1 occurrence)