A Beginner’s Guide to Creating a System User in Adobe Experience Manager (AEM)

Adobe Experience Manager (AEM) is a comprehensive content management solution for building websites, mobile apps, and forms. It’s a part of Adobe’s Marketing Cloud and aims to help businesses deliver compelling content across various channels. One important part of managing AEM effectively is understanding how to create a system user. System users, unlike regular users, are meant for systems or services that require access to AEM.

Key Takeaways

  • System users are created for systems or services that need access to AEM.
  • Creating a system user in AEM is a multi-step process.
  • The process includes creating the user, assigning the right permissions, and setting up the system user in the code base.
  • Understanding the purpose and limitations of system users is essential for effective AEM management.

Understanding System Users

System users are different from regular users. While regular users are typically employees or other individuals who need access to AEM, system users are designed for systems or services. This could include a service that pulls content from AEM for use on another platform, a script that makes automated updates, or a third-party application that needs to interact with AEM.

Creating a System User

Creating a system user in AEM involves several steps:

User Creation

  1. Log into AEM as an admin.
  2. Navigate to User Administration via Tools -> Security -> Users.
  3. Click Create User and fill out the User ID and Password fields.
  4. Save the new user.

Assigning Permissions

  1. Navigate back to User Administration.
  2. Select the new user and click Properties.
  3. Switch to the Permissions tab.
  4. Assign the necessary permissions for the system user.

Setting Up the System User in Code

To use the system user in your code, you’ll need to set it up properly. This involves creating a user mapping in the Apache Sling mapping service. You can do this by adding the following lines to your code:


Map<String, Object> param = new HashMap<String, Object>();
param.put(ResourceResolverFactory.SUBSERVICE, "system-user");
ResourceResolver resolver = null;
try {
    resolver = resourceResolverFactory.getServiceResourceResolver(param);
} catch (LoginException e) {

Understanding Permissions

When creating a system user, it’s important to assign the correct permissions. These permissions determine what the system user can do within AEM. For example, some system users might need read-only access to certain content, while others might need to create, update, or delete content.

Differences Between System Users and Regular Users

AttributeSystem UserRegular User
PurposeUsed by systems or servicesUsed by individuals
AccessLimited based on assigned permissionsTypically broader
PasswordNo password expirationPassword may expire

Risks and Limitations

While system users can be very useful, they also come with risks and limitations. The permissions assigned to system users can potentially be exploited if not managed correctly. System users should be given the minimum permissions necessary for their purpose. Additionally, system users are not subject to password expiration policies, which can pose a security risk if not properly managed.


Creating a system user in AEM is an essential administrative task for those managing AEM installations. Remember, system users are designed for systems and services that interact with AEM, and they should be given the minimum necessary permissions to perform their intended functions. With this guide, you should be able to create, configure, and manage system users effectively in AEM.

Leave a Reply

Your email address will not be published. Required fields are marked *