Skip to main content

Overview

This guide explains how to configure a Technical Account in AEM as a Cloud Service for Gradial integration. By generating Service Credentials and adding the Technical Account to your author group(s), you enable Gradial to interact with AEM for creating Launches, managing content, and other operations. Basic integration steps include:
  1. Creating a Technical Account and downloading credentials
  2. Providing the credentials to Gradial
  3. Assigning appropriate permissions to the Technical Account in AEM

AEM Cloud Service Authentication

AEM as a Cloud Service uses Adobe’s Identity Management System (IMS) for authentication:

Technical Account

Machine-to-machine communication using service credentials and JWT tokens for authentication. No user intervention required.

Permission-based Access

Access is governed by AEM group memberships that control what operations the Technical Account can perform.

Prerequisites

Before creating a Technical Account, ensure you have the proper access and team coordination:

Required Access Roles

  • Adobe IMS Org System Administrator - Required to create Technical Accounts
  • AEM Administrators IMS Product Profile member - Required for to assign permissions

Team Coordination

Typically, the following teams are involved:
  • IT/DevOps Team - Usually holds System Administrator privileges for Cloud Manager
  • AEM Development Team - Configures user permissions and group memberships
  • Security Team - Reviews and approves service account access
Coordinate with your IT and security teams before proceeding. System Administrator access is typically restricted and may require approval workflows.

Integration Steps

1

Create a Technical Account & Download Credentials

Who performs this step: Adobe IMS Org System Administrator (typically IT/DevOps team)
  1. Log in to Adobe Cloud Manager as a System Administrator for your IMS Org
  2. Select the Program containing your target AEM environment
  3. Find the AEM environment, click the ellipsis (…), then select Developer Console
  4. In the Developer Console, navigate to the Integrations tab
  5. Select the Technical Accounts tab
  6. Click Create new technical account
  7. Once created, expand the Technical Account entry
  8. Click View to download the service credentials JSON file (often named service token.json)
CRITICAL: Do not modify the downloaded JSON file in any way. Use the file exactly as provided by Adobe. Any modifications will cause authentication failures.
Keep this file secure and never commit it to source control. Store it according to your organization’s security policies for sensitive credentials.
Limits: Each AEM environment can have up to 10 technical accounts. Service credentials expire every 365 days and will need to be regenerated.
2

Provide Credentials to Gradial

Gradial will:
  • Use the service token.json to generate and sign a JWT
  • Exchange that JWT with Adobe IMS for short-lived access tokens
  • Add a Bearer token header to AEM API calls
Share the service token JSON file securely with your Gradial representative.
3

Configure AEM Permissions

Who performs this step: AEM AdministratorOnce the Gradial Technical Account authenticates for the first time, it will appear in AEM as a user (format: [email protected]). You’ll then assign it to the right groups so it can create Launches, edit content, and upload assets.For background on how permissions work in AEM as a Cloud Service, see Adobe’s Users, Groups and Permissions guide.

Step 1: Find the Technical Account User

  1. In AEM Author, go to Tools → Security → Users
  2. Search for the account ending in @techacct.adobe.com
  3. If you don’t see it, ask Gradial to trigger an authentication so the account is registered

Step 2: Assign Group Memberships

There are two common approaches:

Option A: Add to Existing Author Groups (Quick Start)

  • Add the Technical Account to your standard author/editor group(s)
  • This gives it the same capabilities your authors use: creating pages, editing content, uploading assets, and working with Launches
  • Recommended if you want to get started quickly, but you will still need to ensure that the base permissions are available.

Option B: Create a Dedicated Service Group (Best Practice)

  • Create a new group just for Gradial’s service accounts
  • Grant that group the minimum required permissions
  • Add additional rights only if needed (e.g., replication or workflows)
🔗 For step-by-step instructions on adding a user to a group, see Adobe’s Managing Users and Groups in AEM.
For enhanced security, Option 2 is recommended to follow the principle of least privilege.
4

Validate Permissions

AreaPathJCR PrivilegesWhy It’s NeededHow to Assign in AEM
Core (Author-level)/libsjcr:readFoundationsCovered by most Author groups
/appsjcr:readAccess componentsCovered by Contributors
/confjcr:readAccess CSS styles, templates, policiesCovered by Contributors
/binjcr:readInvoke AEM servlets (Gradial calls APIs here)Must be explicitly added if not in base group
Launches/content/launchesjcr:read, rep:write, jcr:versionManagementCreate/manage Launches, check-in/out versionsAdd to Authors, or create dedicated group
Assets (DAM)/content/dam (or equivalent)jcr:read, rep:write, jcr:versionManagement, crx:replicateUpload/edit assets and metadata, manage versionsAdd to DAM Users, or grant directly
Content Fragments (if separate)/content/dam/<fragments>rep:write, jcr:versionManagementCreate/update Content FragmentsGrant at CF folder level
Site Pages/content/<site>jcr:read, rep:write, jcr:versionManagementCreate/update pagesAdd to Authors for your site
Experience Fragments/content/experience-fragments/<site>jcr:read, rep:write, jcr:versionManagementCreate/update XFsAdd to Authors for XF folders
Tags/content/cq:tags/<site>jcr:read, rep:write, jcr:versionManagement, crx:replicate (if publishing)Apply/create tags, version/tag changes, publish if neededCreate a custom group for tag admins
Publishing (Optional)/content (scoped) or /content/damcrx:replicate, jcr:addChildNodes (if asset publishing required)Needed only if Gradial should publishAdd only if workflows expect Gradial to replicate
AvoidAnyjcr:allGrants superuser accessNot recommended

Important Notes

  • The private key in service token.json generally expires each year, so you will need to regenerate the Service Credentials JSON before it expires
  • Access tokens themselves expire frequently; Gradial automatically fetches new tokens using the private key

Reference

For additional information, see these Adobe documentation resources:

Need Help?

Contact your Gradial representative for additional support with your AEM as a Cloud Service integration.