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

Step-by-step deployment guide

1. Configuring the agent

To configure your import agent, mount a JSON configuration file at /app/config/config.json with the properties listed below. Refer to the following attachment for a starting point:

Open

This example configuration will simply mimic the import functionality of Elimity Insights' built-in connector for Active Directory. Edit the following properties in your file to configure the import agent to your needs:

Property
Type
Description

cronPattern

string

Optional CRON pattern describing when the import agent should run (refer to https://crontab.guru for example patterns); omit if you just want to run the agent once

entityTypes

list[object]

Describes how to import entities of a specific type into Elimity Insights

entityTypes[].attributes

list[object]

Describes how to import attributes of this entity type's entities

entityTypes[].attributes[].attribute

string

Identifier of the attribute to read from the LDAP server

entityTypes[].attributes[].id

string

Unique identifier of the attribute type for which the agent should import assignments

entityTypes[].attributes[].description*

string

Description of the attribute type

entityTypes[].attributes[].name*

string

Human-readable name of the attribute type

entityTypes[].attributes[].syntax

object

Describes how to parse the LDAP attribute

entityTypes[].attributes[].syntax.cmp

boolean

Value to compare with masking result; only applicable if syntax.type is "flag"

entityTypes[].attributes[].syntax.default

string

Fallback value if none of the configured bitmasks match; only applicable if syntax.type is "enum"

entityTypes[].attributes[].syntax.delimiter

string

Delimiter to use for joining the attribute values into a single string; only applicable if syntax.type is "multiString"

entityTypes[].attributes[].syntax.mask

number

Mask to apply before comparing with syntax.type.cmp; only applicable if syntax.type is "flag"

entityTypes[].attributes[].syntax.options

record[number]

Record mapping enum member names to bitmasks for matching; only applicable if syntax.type is "enum"

entityTypes[].attributes[].syntax.type

string

LDAP syntax for the attribute type, one of boolean, enum, flag, generalizedTime, integer, interval, multiString, sid or string

entityTypes[].icon*

string

Icon of the entity type

entityTypes[].id

string

Unique identifier of the entity type for which the agent should import entities

entityTypes[].plural*

string

Plural form of the entity type's name

entityTypes[].searchRequests

list[object]

Requests that the import agent should send to the configured LDAP server, each resulting entry corresponds to an entity of this type

entityTypes[].searchRequests[].baseDn

string

Specified the base of the subtree in which the search is to be constrained

entityTypes[].searchRequests[].filter

string

Specified criteria to identify which entries within the scope should be returned

entityTypes[].searchRequests[].scope

string

One of "base", "oneLevel" or "subtree"

entityTypes[].singular*

string

Singular form of the entity type's name

insightsSourceId

number

Elimity Insights source identifier; we'll create one in step 2

insightsSourceToken

string

Elimity Insights source token; we'll generate one in step 2

insightsUrl

string

URL of your Elimity Insights server

ldapUrl

string

URL of your LDAP server, e.g. ldap://my-host:389 or ldaps://my-secure-host:636

ldapUsername

string

Username for authentication with the LDAP server

ldapPassword

string

Password for authentication with the LDAP server

relationshipTypes

list[object]

Describes how to import relationships between entities of two specific types into Elimity Insights

relationshipTypes[].from

string

Unique identifier of the entity type from which the relationships start

relationshipTypes[].targetAttribute

string

LDAP attribute to filter on when searching to entities (e.g. "memberOf" when searching relationships from users to groups)

relationshipTypes[].to

string

Unique identifier of the entity type where the relationships end

*These properties do not affect the importing functionality, they are only necessary to generate a data model export file when running the import agent with the -print-data-model-export flag.

2. Creating a source in Elimity Insights

The import agent also includes some functionality to help you with creating a source in Elimity Insights. Assuming you correctly configured the agent as explained in the previous step, the following command will write a data model export file to data-model-export.json:

You can now upload this file to Elimity Insights when creating a new custom source. Copy the resulting source's identifier and token to the insightsSourceId and insightsSourceToken properties in the agent's configuration file.

3. Deploying the agent

Having configured the agent and having created a source in Elimity Insights, you can now deploy the agent to regularly import data from your LDAP server and upload it to Elimity Insights. Since we distribute the agent as a Docker image, our recommendation for deployment is to use a CaaS solution like Google Cloud Run or Azure Container Apps. If that's not an option, you can also manually deploy the image on e.g. Windows Server. Refer to our documentation about gateways and import agents for additional details.

4. Following up on the import

The import agent outputs logs to indicate its progress, for a manual Windows Server deployment you can check these with docker-compose logs.

Last updated