The JumpCloud Active Directory Integration (ADI) enables the syncing of users, groups, and passwords between JumpCloud and on-premise or off-premise AD. As covered in Get Started: Active Directory Integration, the ADI uses two agents: an Import Agent and a Sync Agent that can be installed in three (3) configurations which are based on where you want to manage users, groups, and passwords.
- Manage users, groups, and passwords in AD.
- Manage users, groups, and passwords in JumpCloud.
- Manage users and passwords in either system, or both.
This article provides a step-by-step guide for configuring ADI to manage users, security groups, and passwords in AD. This configuration is typically used when you want to extend AD to the cloud for additional functionality, plan to keep AD as your primary user, group, and password authority, and want minimal changes to your existing AD environment.
This configuration supports organizations looking to extend AD to the cloud for additional functionality with minimal changes to their existing AD environment.
- The import agent must be installed on all Domain Controllers.
- Downtime will need to be scheduled because the installation requires a server reboot.
- Changing passwords in JumpCloud is not possible with this use case.
- API tokens are specific to each Admin account. Create a separate account for this integration to prevent the possibility of breaking the ADI connectivity to your JumpCloud organization when an Admin account is deleted.
- Password complexity requirements in AD and JumpCloud should be as closely aligned as possible to avoid passwords being rejected and failing to sync due to not meeting the complexity requirements.
- Groups sync automatically from JumpCloud to AD when one or more sync agents are installed. This sync cannot be disabled.
- Importing privileged user accounts, such as Domain Admins, into JumpCloud from AD isn’t supported.
- We STRONGLY recommend installing and using LDAPS for the ADI. Configuring and using LDAPS on the Domain Controller that the Jumpcloud ADI agents will connect to secures any sensitive information that is exchanged between the Jumpcloud agents and the Domain Controller and protects against malicious users.
- Use ADI import agent only.
- Install import agent on all domain controllers (DCs).
- Add users and security groups under the ADI security group in AD.
- Keep AD as the Primary Identity Provider (the source of truth) for user data, passwords, and security groups and provide access to Cloud resources.
- Manage users’ passwords in AD only.
- Extend user access to the Cloud for one or more of the following:
- Access to SaaS applications using industry standard protocols SAML 2.0, and OIDC, for SSO, and SCIM for provisioning, syncing and deprovisioning.
- Access to Cloud RADIUS for Wifi and VPN.
- LDAP based user auth for NAS drive mappings, networking gear, or logins to things such as kubernetes clusters.
- User provisioning, syncing, deprovisioning and access control to other Cloud Directories such as M365/ Entra ID and Google Workspace in real-time.
- Add support for a mixed OS device fleet.
Workflow for Managing Users, Groups, and Passwords in AD
AD Import Agent Only – Single Domain Workflow
AD Import Agent Only – Multiple Domain Workflow
When the JumpCloud ADI is configured for AD Import only, the following is the general user identity workflow and expected behavior for any user, group, and password changes after AD Import has been configured.
- User identities must be created and managed within AD.
- An integration specific Security Group is configured within the root user container or root OU (e.g., “JumpCloud”).
In multi-domain environments, the security group must have a unique name within each domain (e.g., “JumpCloud (mydomain1)” and “JumpCloud (mydomain2)”)
- To sync user identities from AD to JumpCloud, user identities must be either members of the Security Group created for the integration, or members of a Security Group under that Security Group.
- Passwords must be changed within AD. After a password change, the new credential is then pushed to their corresponding JumpCloud user account within 90 seconds via the Import Agent.
- User Attribute changes must be made within AD. After any supported user attribute changes (First Name, Last Name, Username, E-mail, Password, User State – Enabled or Disabled), the JumpCloud Import Agent will export these updates to JumpCloud within 90 seconds.
- Disabling or Removing user accounts must be done from within AD. After being disabled or removed in AD, the JumpCloud Import Agent will either delete the user account in JumpCloud or leave the user active in JumpCloud and disconnect them from the AD integration instance within 90 seconds.
The behavior is controlled by the UserDissociationAction setting in the AD import configuration file. The default setting is remove, which deletes the user account.
- 64-bit Windows Server (versions 2012, 2016, 2019, 2022*)
- Server Core installation is also supported for Windows Server versions 2016, 2019, and 2022
- 15MB disk space
- 10MB RAM
- When the import agent is installed, users who are synced from AD to JumpCloud will be marked as externally managed by AD. Password management must be managed in AD for these users.
- If you set a password expiration policy in JumpCloud, these users will not receive password expiration notifications automatically. You can send notifications manually by going to users » select expiring users » resend email. Sending notifications from JumpCloud is not recommended. Users marked as externally managed are restricted from changing their password in JumpCloud, with the exception of the link from the password expiration notification.
- The user attributes that sync are:
- First Name
- Last Name
- Users you wish to import from AD into JumpCloud must have defined <First Name> and <Last Name> attributes, i.e., the first name and last name fields cannot be empty.
- Non-standard ASCII characters are not supported in the Root User DN.
- Demoting a DC installation to a member server and promoting a member server installation to a DC aren’t supported. The agent(s) must be uninstalled first and then installed on the other type of server.
- A reinstall of the same ADI import agent is treated as an update.
- We recommend rotating the passwords for the jcimport user accounts periodically.
- As of ADI import agent 2.x, the following changes were made:
- The default location for all agent related installation, configuration, and log files is C:\Program Files\JumpCloud\AD Integration\.
- All references to AD Bridge changed to AD Import.
- The jcimport username & password and the API key are stored in the registry instead of the ADI Import Agent configuration file. Both the password and API key are encrypted and the values in the registry are replaced with the encrypted value when the import agent starts.
- The JumpCloud ADI import agent services use TLS for all communication. If no network connectivity exists to JumpCloud, the ADI will fail to sync and will not work properly.
- You can manage users in 2 ways:
- Individually by adding them to the security group created for this integration, located in the designated OU.
- Using groups located in or nested in the designated Root user container by adding those groups as a member of the JumpCloud Integration Security Group.
- Removing users from the JumpCloud Integration Security Group within AD will either delete those users in JumpCloud and deprovision them from all bound resources or disconnect them from the AD integration, leaving them active in JumpCloud and allowing them to be managed in JumpCloud directly. The behavior is controlled by the UserDissociationAction setting in AD Import Agent configuration file.
- If you relocate users in AD outside of the Root User Container, you could disrupt password synchronization, or remove users and groups from your JumpCloud instance, along with any associated data and resource associations.
- Importing privileged user accounts into your JumpCloud tenant (such as Domain Admins in AD) isn’t supported. AD flags privileged accounts with “adminCount=1” in the AD. The JumpCloud ADI Agents are not able to effectively manage those privileged accounts, thus causing errors and issues with User, attribute, and Password updates to JumpCloud.
- We recommend that you align password complexity requirements between AD and JumpCloud as closely as possible. Otherwise, passwords may not replicate if they’re rejected by the destination directory’s complexity requirements.
- We recommend that a JumpCloud Administrator Service Account be created to supply the API key so that the import is not tied to an individual administrator’s account.
If the JumpCloud Administrator Service Account associated with the import is deleted or the API key is rotated, this will break the import.
Installation Steps Overview
The main steps you will take to install and configure AD for this use case are:
- Complete the prerequisite checklist.
- Determine the Root User Container in AD.
- Create the JumpCloud ADI Integration Security Group in AD.
- Create the AD Import Service Account.
- Delegate read-only control for the JumpCloud import account.
- Create an ADI domain instance in JumpCloud.
- Select your use case and download the import agent installer.
- Run the the AD Import Agent installation wizard on all DCs.
- Reboot each DC.
- Verify the Import Agent Service started on each DC.
- Complete post-installation AD import agent configuration on each DC.
- Verify the AD import.
Before installing the ADI import agent, we recommend completing each item in the following checklist before continuing.
- Know your AD Domain Admin credentials.
- Verify you have access to all Domain Controllers (DCs) in the AD domain.
- Ensure your DCs are running on a JumpCloud supported 64-bit Windows Server version (2012, 2016, 2019, 2022).
- DCs have networking access to the internet and are able to communicate outbound to console.jumpcoud.com over HTTPS port 443.
- Schedule Downtime – installation requires a server reboot!
- Create a dedicated Administrator account in JumpCloud that is specifically for the ADI.
API tokens are specific to each Admin account. Create a separate account for this integration to prevent the possibility of breaking the ADI connectivity to your JumpCloud organization when an Admin account is deleted.
- Generate and securely store the API key for the ADI dedicated Administration account.
- Verify all users to be synced from AD to JumpCloud have a value for first name and last name in AD.
- Align password complexity requirements between AD and JumpCloud as closely as possible. Otherwise, passwords may not replicate if they’re rejected by the destination directory’s complexity requirements.
- [Recommended] Verify all users you plan to import into JumpCloud live in a single OU or be nested underneath a chosen OU (Root user container) in AD. This can be the default CN=Users container in AD or an alternate custom OU in the directory.
- Review Advanced Configurations for the Active Directory Import Agent to understand the configuration settings available for the import agent and note any default values that need to be changed as part of the installation.
- [STRONGLY recommended] Install LDAPS.
We STRONGLY recommend installing and using LDAPS for the ADI. Configuring and using LDAPS on the Domain Controller that the Jumpcloud ADI agents will connect to secures any sensitive information that is exchanged between the Jumpcloud agents and the Domain Controller and protects against malicious users.
Installing the AD Import Agent
To import and update user identities, attributes, passwords, and user groups from AD into JumpCloud, install the import agent on all DCs within your AD domain.
Prepare for the AD Import Agent Installation in AD
Determine the Root User Container in AD
The JumpCloud AD Import agent is designed to integrate with AD’s default ‘Users’ container (CN=Users) which is pre-populated in the AD Users and Computers (ADUC) interface and labeled as “Users” as shown in the following image. (This is a default domain with no custom containers. In this use-case the Root Container is CN=Users;DC=example;DC=com).
The import agent installation wizard assumes that this is the Root User container and uses this path in your AD Import agent configuration file. During installation, you’re prompted for the domain components (DC) used in your AD Domain (i.e., DC=example;DC=com). The installation wizard uses this base level domain information to construct the following Root user container DN (Distinguished Name).
If CN=Users isn’t the Root User Container you want to use in your AD instance, you can update the path in the agent configuration file, ‘jcadimportagent.config.json’, after the AD Import agent install completes. This is covered after the installation section of this document.
Create the JumpCloud ADI Integration Security Group in AD
A Security Group for the integration must be created within the Root User Container you’ve defined in the previous step. This Security Group is required. Any member of this group will be exported to your JumpCloud tenant.
If you do not create this group or give it a unique name across domains, the ADI will fail to function properly.
- Open the ADUC Menu by clicking Start, typing dsa and clicking the Active Directory Users and Computers icon.
- Find your Root User Container.
- Right Click on the Root User Container’s folder and select New > Group.
- Ensure the Security Group is a Global Security Group.
- Give the Security Group a name that helps identify it as the group used by the ADI (e.g., “JumpCloud” for single domain environments, “JumpCloud (Domain)” for multi-domain environments).
- Click OK.
In multi-domain environments, the security group must have a unique name within each domain (e.g., “JumpCloud (mydomain1)” and “JumpCloud (mydomain2)”).
Create the AD Import Service Account
- Open the ADUC Menu by clicking Start, typing dsa and clicking the Active Directory Users and Computers icon.
- Find your Root User Container.
- Right Click on the Root User Container’s folder and select New > User.
This user cannot:
- Be a Domain Administrator
- Be a member of the JumpCloud integration security group
- Have the username of “JumpCloud”
- Enter the following values for the JumpCloud Import Service Account user:
- First Name: JumpCloud
- Last Name Import
- User logon name: jcimport
Use jcimport to distinguish what this user is for and to which agent it is attached.
The user logon name cannot be “JumpCloud”.
- Enter a password for the jcimport user and ensure that it is set to Never Expire since this will be a service account for the Import Agent.
This password should still be rotated periodically for security reasons.
- Click Save.
Delegate read-only control for the JumpCloud import account
If you plan to modify your Root user container DN, you need to do this step on that chosen container in your AD
- Navigate to the Root User Container in ADUC that you have selected, right-click the container and select Delegate Control. This launches the Delegation of Control Wizard.
- Click Next.
- Add the JumpCloud Import Agent account to the Delegation of Control Wizard.
- Click Next, then select Read all user information.
- Click Next, then click Finish at the final screen.
Create an ADI domain instance in JumpCloud
Create a new ADI domain instance in JumpCloud if one does not already exist
- Log in to the JumpCloud Admin Portal.
- Go to Directory Integrations > Active Directory.
- Click ( + Add ADI Domain )
- Enter the name of an Active Directory domain that you want to integrate with your JumpCloud tenant. For example, “DC=example;DC=com”.
The “DC” must be in capital letters. Each value must be separated with a semicolon (;) not a comma. There should be no spaces. The domain case must be the same as it is in the AD import configuration file.
- Click Save.
Select your use case and download the agent from JumpCloud
- Expand the Manage user and passwords in AD section
- Click the checkbox for This is my use case
- Click Download Import Agent.
- After downloading the agent, two values are needed for its installation:
- Your API key
- Your Org ID
If you already generated an API key but didn’t store it, you will need to regenerate it. Regenerating an API key will break any currently installed import agents and all other integrations using that API key. Be cautious with this option. See Rotate the Active Directory Import API Key for more information.
- Save the downloaded installer to all AD DCs
Install the AD Import Agent on your DCs
Non-DC Domain Member Servers with AD write privileges will not sync the passwords. The import agent should not be installed on these types of servers for this configuration.
Run the AD Import Agent Installation Wizard on all DCs
Now you are ready to install the JumpCloud AD import agent. The AD import agent must be installed on all of the write capable DCs within the domain.
This does not apply to Read-Only DCs (RODCs).
- Browse to where you saved the AD Import installer file on your DC.
- Right-click the file, then select Run as administrator.
- The Install Wizard will start and prompt you to agree to the C++ license terms and conditions.
- Select Domain Controller as your Server Type and click Next.
- Confirm your LDAP connection type and decide if you want to allow the use of LDAP if the connection using secure LDAP fails.
We STRONGLY recommend against allowing the use of LDAP if the connection using secure LDAP fails. LDAP is not secure and increases your potential risk of cyberattacks as it sends unencrypted data. Attackers can spy on the connection and intercept packets sent over the network. We STRONGLY recommend the use of LDAPS only for this integration.
If you have not or cannot install LDAPS or TLS, you must select the "Allow insecure connection (LDAP) to a Domain Controller if secure connection fails" option. Otherwise, the integration will fail.
- If you checked Allow insecure connection (LDAP) to a Domain Controller, if secure connection fails, you must confirm that you understand the risk before you can proceed.
- Enter the AD Distinguished Name (DN) of the domain and click Next.
The domain name should match the case of the domain name entered in the JumpCloud Admin Portal. For example, example.com should be entered as "DC=example;DC=com".
- Enter the jcimport account and password, then click Next. Be sure to use the NetBIOS domain format and not the full DNS name. (For example, example\jcimport and the user password).
If you’re unsure of the NetBIOS name, right-click the domain name in ADUC and select Properties. Use the value labeled Domain name (pre-Windows 2000).
- Enter the JumpCloud API Key for the dedicated Admin account created for the ADI, then click Next.
- Enter your JumpCloud Organization ID, then click Next.
- On Selecting the File Destination, leave the defaults and click Next.
- Click Install. The import agent will take about 1 to 2 minutes to install.
- Select Yes, restart the computer now to reboot your DC and click Finish.
You must reboot your DCs after the AD Import Agent installation.
Verify the JumpCloud AD Import Agent Service Started
Once your DC restarted, verify that the service started by confirming display name: “JumpCloud AD Import Agent” ; service name: “JCADImportAgent”; is running in services.msc. If the service fails to start, you can review the agent logs at C:\Program Files\JumpCloud\AD Integration\JumpCloud_AD_Import.log.
Configure AD Import Agent
There are several configuration options that you should implement post-installation of the AD import agent. The recommended configuration updates are:
- Update LDAPS configuration file.
- Modify the Root User Container Used by AD Import.
- Update the security group name if your environment has multiple domains.
Verify and update default import settings described in Advanced Configurations for AD Import.
To change any of the configuration options, start by opening the AD Import Agent configuration file using a text editor: C:\Program Files\JumpCloud\AD Integration\AD Import\jcadimportagent.config.json
Modify the Root User Container used by AD Import
If your Root User Container is the default CN=Users;DC=company;DC=com, you can skip this section.
If you’re using a different Root user container for managing AD resources with the AD Import agent, follow the steps below to modify the User container location in the agent configuration json file.
- Verify the full LDAP path for the chosen Root user container you have selected in ADUC:
- From the ADUC panel’s View menu, enable Advanced Features.
- Right-click the container and select Properties.
- Select the Attribute Editor tab.
- Select the “distinguishedName” attribute, then click View.
- In the AD Import Agent configuration file, replace the CN=Users;DC=company;DC=com reference in the LDAP section of the json configuration file with the “distinguishedName” value from ADUC, leaving the CN=JumpCloud security group reference in place. See the example below:
An example of the configuration file that has been changed from the Defaults to match what’s actually the true Root User Container. In the below example config, Example’s Root User Container needs to be, CN=JumpCloud;OU=Corporate Users;DC=example;DC=com.
Be sure to place semicolons ( ; ) between the values, e.g., “CN=JumpCloud;OU=Corporate Users;DC=contoso;DC=com”
You must create or relocate the JumpCloud security group to this Root user container and grant delegated control to the service account for AD Import agent integration. The LDAP values noted in this DN specify the explicit path to the location of the JumpCloud security group in your AD environment.
Modify the Security Group used by AD Import
You will need to update the security group name in the AD import configuration file to match the name you gave the JumpCloud integration Security Group in the Create the JumpCloud ADI Integration Security Group in AD above.
- Update the security group reference in the DN, CN=JumpCloud, to match the name you gave the JumpCloud integration security group.
Modify default Advanced Configuration settings for AD Import
Adjust the default configuration settings to control how the import works and what happens to users in JumpCloud when certain actions are taken in AD. These settings are considered advanced configurations. See Advanced Configurations for AD Import for more information.
Save the configuration changes and restart the AD import agent service
You do not need to restart the DC only restart the service to apply configuration changes.
Once all configuration changes have been made save them and restart the service.
- Save the jcadimportagent.config.json file.
- Restart the JumpCloud AD Import Agent service using the Windows Service Manager.
Verify AD Import
Once you’ve installed and configured AD Import within your environment, you can easily verify that the JumpCloud AD Import Agent is working. Please ensure the following are present and visible: The JumpCloud AD Import Agent should be shown as green and active within the Admin Portal under Directory Integrations > Active Directory > Domain Integration > Domain Agents tab.
If the AD Import Agent(s) are showing red or are in a non-connected state, please check services.msc to see if the service is running.
- JumpCloud User Group is now within your JumpCloud organization. The JumpCloud User Group should have a User Group icon with an AD badge in the User Group Details pane. See the example below:
- Navigate to User Management > User Groups. You should see the JumpCloud User Group with a Microsoft badge next to it. Click on the User Group to open up its details.
- When opened, you can see that the User Group has a Microsoft Badge and is also assigned to AD on the Directories tab.
Please read the Using and Managing the ADI article next.
Want additional assistance from JumpCloud?
If you’re having issues with getting JumpCloud’s ADI working, try the Troubleshooting Guide.
JumpCloud now offers myriad professional services offerings to assist customers with implementing and configuring JumpCloud. If you’re looking for assistance with Migrating from AD, or to integrate AD with JumpCloud, we recommend you reach out to JumpCloud’s Professional Services team on the following page: Professional Services - JumpCloud.