Is admin user mandatory for transport user?

You should be able to publish using any user account with admin level privileges. However, these privileges must be assigned on the target (publish) server, not just the author server (the initial transport user as the local 'admin' account and then change transport users after the initial sync).

  1. Add a new user to the AEM Author instance. Navigate to http://localhost:4502/useradmin and create a new user account using the Create User button (such as testuser1, but you can skip this step if you already have a suitable account available either via LDAP or in the local repository).
  2. Grant the new user Administrator privileges. Drag the new user account to the administrators group and save changes.
  3. Create a new empty package to hold the user permissions. Go to the Package Manager interface on author (http://localhost:4502/crx/packmgr/index.jsp) and use the Create Package button to add a new package (such as the name user test and the group my_package, but these values are arbitrary).
  4. Add the new users and permissions to the package. Edit the package and add the following filters: /home/groups/a/administrators /home/users/system/testuser1*.  Replace with the path/name of your admin user.
  5. Build the new package. Click Build to assemble the package.
  6. Configure replication for one Publish instance from Author using the built-in Admin credential and test the connection. Go to the Agents on Author settings panel and set up a connection to one of the Publish agents in your cluster. Edit the connection to specify the URL to your Publish instance and enter the transport credentials for the default local admin user. Test that connection and verify that there are no issues with the agent (http://localhost:4502/etc/replication/
  7. Duplicate the replication agent. Open CRXDE and navigate to the following node: /etc/replication/ Copy that node and paste as many additional copies as needed into the parent node (/etc/replication/
  8. Customize each of the additional agents. Open each copied agent and modify the transportUri property to point to the correct address for each target publish server.
  9. Replicate the new user to each publish instance. Navigate to the Packages tree (http://localhost:4502/miscadmin#/etc/packages) and find the package you created in step 5. Select the appropriate package and click Activate.
  10. Verify that the new settings have replicated successfully and change your replication transport to use the new user. Repeat step 6 using the new credential. If the new replication test is successful, copy the new transportUser and transportPassword values from this instance to the other replication agents created in step 7.

This procedure is simplified for use with testing. You may be able to further automate some of these steps using code as well, specifically the duplication of the publish agents and updating the transport users/passwords.