User Guide Cancel

Set up the User Sync tool

  1. Adobe Enterprise & Teams: Administration guide
  2. Plan your deployment
    1. Basic concepts
      1. Licensing
      2. Identity
      3. User management
      4. App deployment
      5. Admin Console overview
      6. Admin roles
    2. Deployment Guides
      1. Named User deployment guide
      2. SDL deployment guide
      3. Deploy Adobe Acrobat 
    3. Deploy Creative Cloud for education
      1. Deployment home
      2. K-12 Onboarding Wizard
      3. Simple setup
      4. Syncing Users
      5. Roster Sync K-12 (US)
      6. Key licensing concepts
      7. Deployment options
      8. Quick tips
      9. Approve Adobe apps in Google Admin Console
      10. Enable Adobe Express in Google Classroom
      11. Integration with Canvas LMS
      12. Integration with Blackboard Learn
      13. Configuring SSO for District Portals and LMSs
      14. Add users through Roster Sync
      15. Kivuto FAQ
      16. Primary and Secondary institution eligibility guidelines
  3. Set up your organization
    1. Identity types | Overview
    2. Set up identity | Overview
    3. Set up organization with Enterprise ID
    4. Setup Azure AD federation and sync
      1. Set up SSO with Microsoft via Azure OIDC
      2. Add Azure Sync to your directory
      3. Role sync for Education
      4. Azure Connector FAQ
    5. Set up Google Federation and sync
      1. Set up SSO with Google Federation
      2. Add Google Sync to your directory
      3. Google federation FAQ
    6. Set up organization with Microsoft ADFS
    7. Set up organization for District Portals and LMS
    8. Set up organization with other Identity providers
      1. Create a directory
      2. Verify ownership of a domain
      3. Add domains to directories
    9. SSO common questions and troubleshooting
      1. SSO Common questions
      2. SSO Troubleshooting
      3. Education common questions
  4. Manage your organization setup
    1. Manage existing domains and directories
    2. Enable automatic account creation
    3. Set up organization via directory trust
    4. Migrate to a new authentication provider 
    5. Asset settings
    6. Authentication settings
    7. Privacy and security contacts
    8. Console settings
    9. Manage encryption  
  5. Manage users
    1. Overview
    2. Administrative roles
    3. User management strategies
      1. Manage users individually   
      2. Manage multiple users (Bulk CSV)
      3. User Sync tool (UST)
      4. Microsoft Azure Sync
      5. Google Federation Sync
    4. Assign licenses to a Teams user
    5. Add users with matching email domains
    6. Change user's identity type
    7. Manage user groups
    8. Manage directory users
    9. Manage developers
    10. Migrate existing users to the Adobe Admin Console
    11. Migrate user management to the Adobe Admin Console
  6. Manage products and entitlements
    1. Manage products and product profiles
      1. Manage products
      2. Buy products and licenses
      3. Manage product profiles for enterprise users
      4. Manage automatic assignment rules
      5. Entitle users to train Firefly custom models
      6. Review product requests
      7. Manage self-service policies
      8. Manage app integrations
      9. Manage product permissions in the Admin Console  
      10. Enable/disable services for a product profile
      11. Single App | Creative Cloud for enterprise
      12. Optional services
    2. Manage Shared Device licenses
      1. What's new
      2. Deployment guide
      3. Create packages
      4. Recover licenses
      5. Manage profiles
      6. Licensing toolkit
      7. Shared Device Licensing FAQ
  7. Get started with Global Admin Console
    1. Adopt global administration
    2. Select your organization
    3. Manage organization hierarchy
    4. Manage product profiles
    5. Manage administrators
    6. Manage user groups
    7. Update organization policies
    8. Manage policy templates
    9. Allocate products to child organizations
    10. Execute pending jobs
    11. Explore insights
    12. Export or import organization structure
  8. Manage storage and assets
    1. Storage
      1. Manage enterprise storage
      2. Adobe Creative Cloud: Update to storage
      3. Manage Adobe storage
    2. Asset migration
      1. Automated Asset Migration
      2. Automated Asset Migration FAQ  
      3. Manage transferred assets
    3. Reclaim assets from a user
    4. Student asset migration | EDU only
      1. Automatic student asset migration
      2. Migrate your assets
  9. Manage services
    1. Adobe Stock
      1. Adobe Stock credit packs for teams
      2. Adobe Stock for enterprise
      3. Use Adobe Stock for enterprise
      4. Adobe Stock License Approval
    2. Custom fonts
    3. Adobe Asset Link
      1. Overview
      2. Create user group
      3. Configure Adobe Experience Manager Assets
      4. Configure and install Adobe Asset Link
      5. Manage assets
      6. Adobe Asset Link for XD
    4. Adobe Acrobat Sign
      1. Set up Adobe Acrobat Sign for enterprise or teams
      2. Adobe Acrobat Sign - Team feature Administrator
      3. Manage Adobe Acrobat Sign on the Admin Console
    5. Creative Cloud for enterprise - free membership
      1. Overview
  10. Deploy apps and updates
    1. Overview
      1. Deploy and deliver apps and updates
      2. Plan to deploy
      3. Prepare to deploy
    2. Create packages
      1. Package apps via the Admin Console
      2. Create Named User Licensing Packages
      3. Adobe templates for packages
      4. Manage packages
      5. Manage device licenses
      6. Serial number licensing
    3. Customize packages
      1. Customize the Creative Cloud desktop app
      2. Include extensions in your package
    4. Deploy Packages 
      1. Deploy packages
      2. Deploy Adobe packages using Microsoft Intune
      3. Deploy Adobe packages with SCCM
      4. Deploy Adobe packages with ARD
      5. Install products in the Exceptions folder
      6. Uninstall Creative Cloud products
      7. Use Adobe provisioning toolkit enterprise edition
      8. Adobe Creative Cloud licensing identifiers
    5. Manage updates
      1. Change management for Adobe enterprise and teams customers
      2. Deploy updates
    6. Adobe Update Server Setup Tool (AUSST)
      1. AUSST Overview
      2. Set up the internal update server
      3. Maintain the internal update server
      4. Common use cases of AUSST   
      5. Troubleshoot the internal update server
    7. Adobe Remote Update Manager (RUM)
      1. Use Adobe Remote Update Manager
      2. Resolve RUM errors
    8. Troubleshoot
      1. Troubleshoot Creative Cloud apps installation and uninstallation errors
      2. Query client machines to check if a package is deployed
      3. Creative Cloud package "Installation Failed" error message
  11. Manage your Teams account
    1. Overview
    2. Update payment details
    3. Manage invoices
    4. Change contract owner
    5. Change your plan
    6. Change reseller
    7. Cancel your plan
    8. Purchase Request compliance
    9. Manage your team in Adobe Express
  12. Renewals
    1. Teams membership: Renewals
    2. Enterprise in VIP: Renewals and compliance
  13. Manage contracts
    1. Automated expiration stages for ETLA contracts
    2. Switching contract types within an existing Adobe Admin Console
    3. Value Incentive Plan (VIP) in China
    4. VIP Select help
  14. Reports & logs
    1. Audit Log
    2. Assignment reports
    3. Content Logs
  15. Get help
    1. Contact Adobe Customer Care
    2. Support options for teams accounts
    3. Support options for enterprise accounts
    4. Support options for Experience Cloud

This document is intended to walk you through the installation of User Sync tool to automate the user management process.

The User Sync tool is a command-line utility that moves user and group information from your organization’s enterprise directory system (such as an Active Directory or other LDAP systems) to your organization’s directory in the Adobe Admin Console. Each time you run the User Sync tool, it looks for differences between the user and group information in the two systems and updates the Adobe directory to match the information in your directory.

This document provides step-by-step instructions to interface an Active Directory system with the Adobe Admin Console. This is one of the most popular combinations that our customers use in the K-12 and SMB segments. The User Sync tool is flexible and can be used to interface with most LDAP and directory systems. If you're using a directory system other than Active Directory, the instructions in this document do not apply directly; modify as required. For more information, see the Setup and Success Guide.

Before you begin

You need the following information about your LDAP system. If you do not have this information, contact your IT administrator.

  • Domain controller name (or its IP, if fixed) and port.
  • User name and password to a service account that the tool can use to extract users from your LDAP (read-only access).
  • Base DN, which is the point from where the server searches for users; it should be wide enough to allow the discovery of all users and groups requiring to be synced.
  • Group names that are a part of the synchronization.
  • The best suited LDAP attribute for mail/username for all users needing to be created in Admin Console.
  • (Optional) You might also require a custom LDAP query that selects the set of users to be synced with Adobe if the default filters don't cover the requirements.
Active directory

The key pair is used to sign a JWT and verify its legitimacy in obtaining the access_token process. To assist you on this process, contact your security team, if necessary.

Certificate tips:

  • Public certificate can be signed by your own CA (raise a CSR if necessary); self signed ones are accepted too
  • Private key should be RSA: 2048 bits at min
  • The public certificate should have a .crt extension
  • Sign using SHA-256
  • Public key validity: three years recommended but your internal security policy will dictate

Create a self-signed certificate

For using self-signed certificates with randomized values and a public certificate with validity of one year, the adobe.io portal offers the possibility to generate them during the project creation phase or inside the Service Account (JWT) menu of an existing project. For more information, see Create integration with Adobe I/O.

For self-signed certificates with data and validity set by yourself, follow these steps:

  1. For macOS/Linux, open Terminal. 

    For Windows, open the program that offers openssl support, like Cygwin or cmd, if installed. Otherwise, starting with version 2.6.0, the User Sync Tool can be used to generate the public certificate and private key. The requirement is to have the tool downloaded locally and to run this command line in Command Prompt, from within the folder containing the user-sync.exe file:

    user-sync.exe certgen
  2. Run the following command:

    openssl req -x509 -sha256 -nodes -days 1095 -newkey rsa:2048 -keyout private.key -out certificate_pub.crt
    Digital certificate

  3. When the private key generation is complete, you are prompted to enter additional information to create a Distinguished Name for the public key. You can accept default values, or enter a relevant one. To leave a field blank, enter "." (a dot character).

    Digital certificate

The public certificate and the private key files are stored in the following default locations:

Windows: C:\cygwin64\home\<your_user_name>

(if you have used user-sync.exe, the file should be inside same folder as the script)

macOS: /Users/<your_user_name>

If you plan to install User Sync on your machine, ensure that it meets the following requirements:

  • Has access to the Internet, and your directory service such as LDAP or AD.
  • Is protected and secure (your administrative credentials are stored or accessed there).
  • Stays up, is reliable, and has a backup and recovery capability.
  • Can send emails so User Sync can send reports to administrators.
  • If it is a Windows machine, it has a 64-bit processor.

Otherwise, work with your IT department to identify such a server and get access to it.

Ensure that you have created the directories for your organization, and the Product Profiles and User Groups are created in the Adobe Admin Console.

Set up the server

To set up an adobe.io integration, do the following:

  1. As a system administrator, sign in to the Adobe I/O Console, select your organization from the drop-down list on upper right. Click Create New Project.

    Select your organization

  2. Click Edit Project on the upper right, and enter a title and description for the project. Click Save.

    Edit project

  3. Click Add API.

    Add API

  4. In the Add an APi window, filter by Adobe Services, and select User Management API. Click Next.

    User Management APi

    • Generate a Key Pair:

    If you want to use a self-signed certificate with randomized values generated by adobe.io with a validity of 1 year, select Generate a Key Pair. Then, click Generate Keypair.

    A config.zip file is downloaded to your local machine containing the certificate_pub.crt file and the private.key. The public certificate is automatically added to your integration and the private.key is used later in the configuration process.

    • Upload Your Public Key:

    If you have your own public certificate or you have generated it using the steps in Obtain the public and private key section, then select Upload Your Public Key. Scroll down and upload the Public key certificate file. Click Next.

    Configure API

  5. Click Save Configured API.

  6. To view the credential details, navigate to Service Account (JWT).

    Credential details

The information on this page is later used in one of the User Sync Tool's config files.

  1. Create a folder named user_sync_tool in a location on the drive where users with required permissions can access its contents.

  2. Access GitHub and locate the Latest release tag.

    Inside this release, find and expand the Assets. Then, locate and download:

    • The examples.zip file
    • The .zip of the User Sync Tool in the list that matches your OS type
  3. Unzip examples.zip, navigate to config files - basic, and copy these files to user_sync_tool folder: connector-ldap.yml, connector-umapi.yml, and user-sync-config.yml.

  4. From the other zip file, extract the user-sync.exe file and place it inside same user_sync_tool folder.

  5. Locate the private.key that came along with the public certificate and move it to same user_sync_tool folder. So now, the folder contains:

    • connector-ldap.yml
    • connector-umapi.yml
    • private.key
    • user-sync.exe
    • user-sync-config.yml

Configure User Sync

  1. Edit the file connector-ldap.yml with a specialized text editor.

  2. Enter the user name, password, host, and base_dn values.

    Directory Access configuration file

  3. Set search_page_size to 200.

  4. Although most of the times the default filters would do. If you need a custom LDAP query to extract a set of users, modify the all_users_filter config parameter.

  5. Verify the rest of the uncommented settings and what LDAP attributes they point to. Change them according to your needs.

    Some deployments have username-based login set up (Username field in Admin Console for a given user is not an email type of value). 

    In this case, enable the following line too (remove the # char):
    user_username_format: {sAMAccountName}

    Replace the sAMAccountName with the right attribute if it's not the one you need to use.

  1. Edit the connector-umapi.yml. This file has access information to your Adobe organization.

  2. Enter the following information from the adobe.io integration you created earlier:

    • org_id
    • api_key
    • client_secret
    • tech_acct
  3. Make sure that the priv_key_path contains the exact name of the private key inside the  user_sync_tool folder. 
    If the private key is inside same folder with the rest of the UST files, priv_key_path can contain only the name of the file; it works as a relative path.

    Adobe UMAPI credentials

If your directory does not list a country for each user, you can set a default country.

  1. Edit the user-sync-config.yml file.

  2. Remove # from the default country code line, and enter the appropriate country code. For example:

    default_country_code: US
    Note:

    A country code is required for Federated IDs and recommended for Enterprise IDs. If not supplied for Enterprise IDs, the users are prompted to choose a country when they first log in.

Group mapping defines what groups from LDAP should have a corresponding user-group or PLC in Admin Console.

The target here is to give the tool a source of groups/users so that it can match the same members in Admin Console side groups/PLCs.

  1. Edit group mapping in the user-sync-config.yml file. 

  2. For each directory group that must map to an Adobe Product Profile or user group, add an entry inside the groups section. For example:

    groups: 
        - directory_group: LDAP_group_name_goes_here 
          adobe_groups: 
            - Adobe_group_name_goes_here 
        - directory_group: LDAP_group_name_goes_here 
          adobe_groups: 
            - Adobe_group_name_goes_here
    Note:

    Group mapping can be done using Adobe User Groups or Product Profiles, not to Product names. And, you can map one directory group to more than one Adobe User Groups or Product Profiles.

To prevent accidental account removal if there is a misconfiguration or another problem, you can decide a limit of maximum number of account removals you'd expect in your daily sync.

  1. To change the limit, find  max_adobe_only_users in the user-sync-config.yml file.

  2. If you expect the number of account removals to be more than the set max_adobe_only_users value between User Sync runs, raise the value to cover all account removals.

    Note:

    If the number of accounts to be removed is more than the max_adobe_only_users value, the tool would not process any account removal. A critical entry appears in the log that announces reaching that limit.

    This limit does not impact the create actions.

There are situations where some accounts must be excluded from the synchronization. This can be achieved by editing the user-sync-config.yml file.
The tool offers three exclude features: by identity type, by group name and by regular expression.
Any account found in Admin Console that fits in at least one of the mentioned criteria is protected from remove actions (from group, from Org).

It's a good practice to have AdobeIDs for System Administrators in Admin Console and exclude them via exclude by exclude_identity_types: adobeID

Here is a sample:

adobe_users:
  exclude_identity_types:
    - adobeID           # adobeID, enterpriseID, or federatedID
  exclude_adobe_groups:
    - adobe_group_name  # its members are not to be removed by User Sync
    - other_group_name  # you can exclude multiple groups
  exclude_users:
    - ".*@example.com"
    - important_user@domain.com

User Sync produces log entries that are printed to standard output and also written to a log file. The logging set of configuration settings control details of where and how much log information is output.

  1. To turn the file log on or off, edit the log_to_file value in the user-sync-config.yml file.

  2. Review the settings for logs and make any desired changes. For the initial setup it's recommended to use 
    log_to_file: True 
    file_log_level: debug

Alternatively, if you have a Windows server, you can use the User Sync Tool Configuration wizard to configure User Sync.

The User Sync Tool Configuration wizard is a GUI tool that helps you easily configure the User Sync tool with User Management API (Adobe.io), Enterprise Directory (LDAP), and sync settings. It provides context-based help and links to User Sync tool documentation. For more information, see Adobe User Sync Tool Configuration wizard.

Deploy and automate

Now that the User Sync tool is set up on your server or machine, you can check if it works as expected. To troubleshoot the common issues while running the User Sync Tool, see tips to resolve common errors.

  1. Open Command Prompt.
  2. Using the following command, navigate to the user_sync_tool folder.

    cd path/to/user_sync_tool
  3. To verify that your configuration is complete, run the following commands:

    For Windows:

    user-sync.exe -v 
    user-sync.exe -h

    For UNIX:

    ./user-sync –v
    ./user-sync –h

    -v reports the version, -h provides help on command-line args.

  4. In test mode, run a sync limited to the mapped groups named in the config file, excluding the existing Adobe side accounts.

    user-sync.exe -t --users mapped --process-groups --adobe-only-user-action exclude

    The command above syncs only the users in the mapped group specified in user-sync-config.yml. If the users don't exist in the Admin Console, it results in an attempt to create the users and add them to any groups that are mapped from their directory groups.

    Running user-sync in test mode (-t) only attempts to create the user and not actually do it. The --adobe-only-user-action exclude option prevents removal of any existing user account in the Adobe organization.

  5. Although the invocation_defaults sets the default arguments the tool runs with, you can override them by mentioning them in command line. In test mode, run a sync limited to the mapped groups named in the config file, removing the extra accounts found on Adobe side and not found in the LDAP extraction.

    user-sync.exe -t --users mapped --process-groups --adobe-only-user-action remove

    -t

    run a simulation not an actual sync and see what would happen.

    --users-mapped

    extract users from LDAP that are results of both all_user_filter and member of the provided directory_group names in the config file.

    --process-groups

    add/remove users to/from the Adobe side user-groups or PLCs, based on account being or not member of the LDAP mapped groups.

    --adobe-only-user-action remove

    any account found on Adobe side is removed from Users menu and entitlements stripped off if not found in the LDAP extraction and not being excluded from sync.

    Read more about command parameters here.

    Read about some other usage scenarios here.

If all the tests run as expected, you are ready to make a full run (without the test-mode flag).

Note:
  • The provided command lines are just examples and might not cover the entirety of use-cases.
  • Initial sync can take from seconds to hours depending on the number of accounts to sync. Roughly 250 users get created every 1.5-2 minutes (including time-out).
  • The UMAPI timeout warning code 429 messages are expected. The tool handles the retry mechanism.

User Sync can be run manually, or you can set up automation where it runs once to a few times per day automatically.

Note:

If you have a log analysis and alerting system available, arrange for the log from User Sync to be sent to the log analysis system. And, set up alerts for any Error or Critical messages that appear in the log.

  1. To pull out relevant log entries for a summary, create a batch file in the user_sync_tool folder with the invocation of user-sync piped to a scan. For example, create a file run_sync.bat with contents like:

    cd path/to/user-sync-folder 
    user-sync.exe --users file example.users-file.csv --process-groups | findstr /I "==== ----- WARNING ERROR CRITICAL Number" > temp.file.txt 
    rem email the contents of temp.file.txt to the user sync administration 
    your-mail-tool –send file temp.file.txt
  2. Optionally, set up an email command-line tool.

    There is no standard email command-line tool in Windows, but several are available commercially, where you can fill in your specific command-line options.

  3. Set up the Windows task scheduler to run the User Sync tool.

    For example, the below code runs the User Sync tool every day starting at 4:00 PM:

    C:\> schtasks /create /tn "Adobe User Sync" /tr path_to_bat_file/run_sync.bat /sc DAILY /st 16:00

 Adobe

Get help faster and easier

New user?