OakAccess0000: Access denied

ERROR :-   OakAccess0000: Access denied

We often observe while doing the AEM development or in live running environment we get the error code  OakAccess0000 , especially while running a workflow or any asset upload. This issue disrupts normal operation. As content authors are unable to perform essential task like uploading or managing content, leading to business impact.  

This impact the business as content author are unable to upload any content. 


Error stack trace :-

Javax.jcr.AccessDeniedException: OakAccess0000: Access denied
 at org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:232) [org.apache.jackrabbit.oak-api:1.10.6]
 at org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:213) [org.apache.jackrabbit.oak-api:1.10.6]
 at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.newRepositoryException(SessionDelegate.java:669) [org.apache.jackrabbit.oak-jcr:1.10.6]
 at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:495) [org.apache.jackrabbit.oak-jcr:1.10.6]
 at org.apache.jackrabbit.oak.jcr.session.SessionImpl$8.performVoid(SessionImpl.java:424) [org.apache.jackrabbit.oak-jcr:1.10.6]
 at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:273) [org.apache.jackrabbit.oak-jcr:1.10.6]
 at org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:421) [org.apache.jackrabbit.oak-jcr:1.10.6]
 at com.adobe.granite.repository.impl.CRX3SessionImpl.save(CRX3SessionImpl.java:208) [com.adobe.granite.repository:1.6.28]
 --
 --
 --
 Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakAccess0000: Access denied
 at org.apache.jackrabbit.oak.security.authorization.permission.PermissionValidator.checkPermissions(PermissionValidator.java:239) [org.apache.jackrabbit.oak-core:1.10.6]
 at org.apache.jackrabbit.oak.security.authorization.permission.PermissionValidator.propertyAdded(PermissionValidator.java:108) [org.apache.jackrabbit.oak-core:1.10.6]

Root Cause:

The OakAccess0000 error typically points to insufficient permissions associated with the workflow service user. When workflows run, AEM relies on service users to perform actions like saving nodes or modifying assets. If that service user lacks the required permissions, the operation fails.

This issue is especially common after upgrades, environment migrations, or when custom workflows are introduced.

 

How to Fix ? 

This error is due to workflow service user which AEM uses to run the workflows. To get the issue resolved you need to take the following action - 

1. Search for the workflow-service user  form user  admin. 

  • Go to Useradmin: http://<host>:<port>/useradmin
  • Search for the user (typically named something like workflow-service or a custom service user mapped in your workflow bundle). 

2. Assign the admin privileges to workflow-service user. /etc, /content..etc

  • /content 
  • /var/workflow
  • /etc/workflow

3. Upload the images and observe the log files. Your issue will be resolved. 

Conclusion  

The OakAccess0000: Access denied error is most commonly a permissions issue related to service users in AEM workflows. By ensuring your service users have the correct access levels to required content and configuration paths, you can eliminate this error and ensure uninterrupted operation for your authors and publishing teams.

Comments

Popular Posts

How to Increase Apache Request Per Second ?

Configure/Decoding AEM AuditLogs

Caching Strategy - CDN-APACHE - Example Headers

Migrating from AEM 6.x to AEM as a Cloud Service: What Developers Should Expect

how to clear dispatcher cache in aem ?

How to prevent DDoS in Apache ?

Difference between Adobe AEM Enterprise vs Adobe AEM as a Cloud Service

How to protect AEM against CSRF Attack ?

How to Configure CSP header in AEM , Dispatcher ?