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 and passwords in AD, JumpCloud, or both.
- Manage users, groups, and passwords in JumpCloud.
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.
Deployment Configuration Overview
- Use ADI import agent only.
- Install import agent on all domain controllers (DCs) or on at least 2 member servers.
- Add users and security groups under the ADI security group in AD.
To explore the use cases and benefits of this configuration, see Manage users, groups, and passwords in AD in the Configure Active Directory Integration (ADI) help center article.
Workflows
AD Import Agent Only – Single Domain Workflow
AD Import Agent Only – Multiple Domain Workflow
To learn more about the general user identity workflow and expected behavior for any user, group, and password change in AD and in JumpCloud read Use and Manage the Active Directory Integration (ADI) .
System Requirements
- 64-bit Windows Server (versions 2012, 2016, 2019, 2022)
- Server Core installation is also supported for Windows Server versions 2016, 2019, and 2022. You will need to include the /msiexec parameter when running the agent installer
- 15MB disk space
- 10MB RAM
New Installation Overview
The main steps you will take to install and configure ADI for a one-way sync from AD to JumpCloud are:
- Determine on which servers the AD import agents will be installed: member servers or domain controllers (DCs).
- 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 configuration and follow the installation steps and download the import agent
- Run the the AD Import Agent installation wizard
- Reboot the servers on which the agent was installed.
- Verify the Import Agent Service started on each AD server.
- Complete post-installation AD import agent configuration on each AD server.
- Verify the AD import.
Considerations
Agent Version Considerations
- As of import agent v2.2.1, 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.
- Import agent v3.0.0 and higher supports delegated user authentication to AD.
Delegated Authentication Considerations
Review ADI: Use AD Delegated Authentication for specific considerations and more information about delegated authentication to AD.
When the delegated authentication setting, Delegated Password Validation, is enabled and Pending for the ADI configuration and the user's Delegated Authority is Active Directory, the user will not be able to log in. An AD import agent, version 3.0 or higher, must be installed and active to change the status of Delegated Password Validation from Pending to Active.
- When upgrading from AD import agent v2.6.0 or lower, you must select Install New Agent from the Downloads dropdown menu in the ADI Details page to get the connect key, which is required to complete the upgrade of the agent on the AD server.
- When upgrading the AD import agent to version 3.0, existing users connected to the domain will not have their log in delegated to AD unless the Delegated Authority is manually set to Active Directory for those existing users.
- The delegated authentication setting, Delegated Password Validation, is enabled by default for this ADI configuration and cannot be disabled.
- When the delegated authentication setting, Delegated Password Validation, is enabled and active:
- All users imported by import agent v3.0.0 or higher will have their Delegated Authority automatically set to Active Directory and their login to the JumpCloud User Portal and SSO login delegated to AD for validation.
- Existing AD users imported from AD to JumpCloud no longer have to reset their password in AD to log in to JumpCloud managed resources when delegation is enabled for them.
General Installation Considerations
All installed import agents should be the same version to avoid unexpected behavior or the potential for users not being able to log in if the primary agent is switched.
- Non-standard ASCII characters are not supported in the Root User DN.
- When upgrading an import agent, the installation wizard prompts for minimal information:
- Agent connect key, when upgrading from import agent v2.6.0 or lower.
- Directory for where the installation should occur.
- Finish screen.
The Connect Key will expire in 7 days if it is not used.
- 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.
- User passwords must be managed in AD.
- Users who are imported from AD to JumpCloud will automatically have their Password Authority set to Active Directory by default and the attributes that sync will be read-only in both the Admin Portal and in User Portal. These fields become restrictedFields.
Member Server Installation Considerations
The following are considerations only if you choose to install the import agents on member servers:
- The AD password does NOT sync from AD to JumpCloud. Users imported and synced from AD will not have a password in JumpCloud.
Domain Controller (DC) Installation Considerations
The following are considerations only if you choose to install the import agents on DCs:
- An import agent must be installed on all Domain Controllers.
- Downtime should be scheduled. The installation requires a server reboot.
- AD passwords will sync from AD to JumpCloud. This means that the password will be managed in AD and stored in both AD and JumpCloud.
Security Considerations
- 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.
- We recommend periodically rotating the password for the server account used by the integration (e.g., jcimport)for security reasons.
- API tokens are specific to each Admin account. Use a separate, dedicated account for this integration to prevent the possibility of breaking the ADI connectivity to your JumpCloud organization when an Admin account is deleted.
If the JumpCloud Administrator Account associated with the import is deleted or the API key is rotated, the import will stop working. All imports will fail until a valid API key is generated and updated in the registry on the AD servers.
Password Considerations
- Users imported and synced from AD to JumpCloud will have their Password Authority set to Active Directory, which means a password cannot be created or changed in JumpCloud by either a JumpCloud Admin or an end-user. The password can only be created and updated in AD.
- When the JumpCloud AD import agent is installed on member servers, the AD password does NOT sync to JumpCloud. The password will only be in AD.
- In this configuration, the user’s Password Authority should also be set to Active Directory to prevent a password from being entered in JumpCloud by either a JumpCloud Admin or the end user.
- When the JumpCloud AD import agent is installed on all DCs, the AD password does sync from AD to JumpCloud. This means that the password will be saved in both AD and JumpCloud.
- When passwords are imported and synced from AD to JumpCloud:
- Passwords are still managed in AD.
- 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.
- If you set a password expiration policy in JumpCloud, these users will not receive password expiration notifications automatically.
- Sending password expiration notifications from JumpCloud is not recommended. You can send notifications manually by going to users » select expiring users » resend email.
- Users with their password authority set to Active Directory managed by AD are restricted from changing their password in JumpCloud, with the exception of the link from the password expiration notification.
- When passwords are imported and synced from AD to JumpCloud:
- If the import agent is installed on DCs, the password is stored in JumpCloud after the initial log in. The stored password continues to be synced from AD to JumpCloud and from JumpCloud to other resources. The password can be used to log in to resources that don’t support delegated authentication to AD, such as Cloud RADIUS, Cloud LDAP, and devices.
- If the import agent is installed on AD member servers, the password is never stored in JumpCloud.
Import Considerations
- We recommend that all users you plan to import from AD 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
- 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
- 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.
- Users must have values for <First Name> and <Last Name>, i.e., the first name and last name fields cannot be empty, otherwise the users will fail to sync from AD to JumpCloud.
- Users who are imported from AD to JumpCloud will automatically have their Password Authority set to Active Directory by default and the attributes that sync will be read-only in both the Admin Portal and in User Portal. These fields become restrictedFields.
- The Password Authority setting can be changed for a specific user from their user record directly or for multiple users from Users >More Actions>Set External Password Authority.
- 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.
- ADI Import Agent settings in the jcadimportagent.config.json file control the behaviors that occur in JumpCloud when certain actions are taken on the user in AD.
- 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.
- Importing privileged user accounts, such as Domain Admins and accounts with “adminCount=1”, into JumpCloud from AD or managing them in AD from JumpCloud, isn’t supported.
Attributes
The user attributes that sync from AD to JumpCloud are:
- First Name
- Last Name
- Username
These attributes become read-only (restrictedFields) in JumpCloud when a user's Password Authority is set to Active Directory. The Password Authority setting can be changed for a specific user from their user record directly or for multiple users from Users >More Actions>Set External Password Authority.
Prerequisite Checklist for New Installations
Before installing the ADI import agents for the first time, complete the following checklist
- Know your AD Domain Admin credentials.
- Decide whether you want to install the sync agents on your AD domain’s non-DC Domain Member Servers (member servers) or Domain Controllers (DCs).
- When installing the import agent on DCs, schedule downtime. Installation requires server reboot!
- Verify you have access to all Domain Controllers (DCs) in the AD domain or to the member servers on which you plan to install the import agents.
- Ensure the servers on which you are installing the import agent are running on a JumpCloud supported 64-bit Windows Server version (2012, 2016, 2019, 2022).
- Confirm the servers on which you are installing the import agent have networking access to the internet and are able to communicate outbound to console.jumpcloud.com over HTTPS port 443.
- If installing the import agents on DCs, 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 dedicated 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.
- If you install the import agents on DCs, 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 are 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.
Prepare AD for the Import Agent Installations
To import and update user identities, attributes, and user groups from AD into JumpCloud, you'll need to install a JumpCloud AD import agent on your non-DC Domain Member Servers (member servers) or all Domain Controllers (DCs) within your domain. Complete the steps below to prepare for installing the agents on your servers.
Passwords can only be synced from AD to JumpCloud if the import agent is installed on a DC. When installing on DCs, an import agent must be installed on all DCs.
Prepare for the AD Import Agent Installation in AD
The steps outlined below must be done on a DC, even if you plan to install the import agents on member servers. A server reboot is NOT required after completing these changes.
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).
EXAMPLE: CN=Users;DC=example;DC=com
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.
Install the AD Import Agent
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 )
- Select Manage users and passwords in Active Directory.
- 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.
- Click Download Import Agent.
- The Import Agent installer will automatically save to your local Downloads folder.
- After downloading the agent, note and store the 3 values needed for the agent installation:
- Your JumpCloud Organization ID
- Your Import Agent Connect Key
- The API key for the dedicated admin account for the integration
- Copy and securely store the values for later use.
The Connect Key will expire in 7 days if it is not used.
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 the AD servers.
Install the AD Import Agent on your AD Servers
If you are installing the import agent on your DCs, an agent must be installed on all of the write capable DCs within the domain. This does not apply to Read-Only DCs (RODCs).
Run the AD Import Agent Installation Wizard
Now you are ready to install the JumpCloud AD import agent.
- 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 your Server Type and click Next.
- If you selected Domain Controller, skip to step 9.
- If you selected Member Server for the server type, provide the FQDN or IP address for that server. We recommend using FQDN.
- Confirm your LDAP connection type and decide if you want to allow the use of LDAP if the connection using secure LDAP fails.
- 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 your JumpCloud Organization ID, then click Next.
- Enter the import agent Connect Key, then click Next.
- Enter the JumpCloud API Key for the dedicated Admin account created for the ADI, 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 AD servers 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 > Your ADI Instance > Domain Agents section.
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.
Next Steps
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 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.