Problème

Impossible de se connecter aux instances AEM en raison d’instances de cryptoservice ACL manquantes. L’erreur [1] ci-dessous est observée dans le fichier error.log au démarrage.

07.12.2017 15:24:31.980 *ERROR* [FelixStartLevel] com.adobe.granite.crypto.internal.Activator setupCryptoSupport: Failed creating CryptoSupport Implementation: 
javax.jcr.AccessDeniedException: Root node is not accessible.
    at org.apache.jackrabbit.oak.jcr.session.SessionImpl$4.perform(SessionImpl.java:294)
    at org.apache.jackrabbit.oak.jcr.session.SessionImpl$4.perform(SessionImpl.java:288)
    at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:208)
    at org.apache.jackrabbit.oak.jcr.session.SessionImpl.getRootNode(SessionImpl.java:288)
    at com.adobe.granite.crypto.internal.Activator.getOrCreateKeyNode(Activator.java:290)
    at com.adobe.granite.crypto.internal.Activator.writeKey(Activator.java:320)
    at com.adobe.granite.crypto.internal.Activator.loadOrCreateKey(Activator.java:258)
    at com.adobe.granite.crypto.internal.Activator.startCryptoSupport(Activator.java:162)
    at com.adobe.granite.crypto.internal.Activator$1.serviceChanged(Activator.java:127)
    at com.adobe.granite.crypto.internal.Activator.start(Activator.java:138)
    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
    at org.apache.felix.framework.Felix.activateBundle(Felix.java:2226)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2144)
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1371)
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
    at java.lang.Thread.run(Thread.java:745)

Cause

Ce problème est causé lorsque des packages d’autorisations personnalisés sont installés sur l’instance qui remplace la liste de contrôle d’accès de la boîte.

Résolution

Option A : Créer la liste d’ACL manquants 

  1. Accédez à http://aemhost:port/crx/de/index.jsp et connectez-vous en tant qu’administrateur.

  2. Naviguez jusqu’à /etc/key.

  3. Sélectionnez l’onglet Contrôle d’accès.

  4. Accordez à l’utilisateur des cryptoservices l’autorisation rep:all sur le nœud.

Option B : Créer un package pour migrer les autorisations à partir d’une installation AEM propre

  1. Définissez une instance AEM propre de la même version que celle de l’erreur. Appliquez le même pack service, correctifs et / ou paquet correctif cumulatif à l’instance.

  2. Allez à http://aemhost:port/crx/packmgr/index.jsp et connectez-vous en tant qu’administrateur.

  3. Créez un nouveau package.

  4. Cliquez sur Modifier.

  5. Sélectionnez l’onglet Filtres.

  6. Ajouter une nouvelle règle pour /etc/clé.

  7. Cliquez sur l’onglet Avancé.

  8. Paramétrez le Traitement AC sur le mode Fusion.

  9. Cliquez sur Enregistrer.

  10. Cliquer sur Construire.

  11. Téléchargez le package.

  12. Téléchargez et installez le package dans le gestionnaire de package de l’instance AEM en panne.

Si vous devez installer les packages d’autorisations personnalisés, utilisez l’option package de traitement MergePreserve au moment de créer le package sur l’instance source.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne