Problema

No se puede iniciar sesión en instancias AEM debido a la falta de ACL de criptoservicio. El error [1] que se muestra a continuación se observa en el archivo error.log al inicio.

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)

Causa

Este problema se produce cuando se instalan paquetes de permisos personalizados en la instancia que sobrescriben las ACL.

Resolución

Opción A: Crear el ACL que falta

  1. Vaya a http://aemhost:port/crx/de/index.jsp e inicie sesión como administrador.

  2. Vaya a /etc/key.

  3. Seleccione la pestaña Control de acceso.

  4. Otorgue permisos del nodo rep:all al usuario de criptoservicio.

Opción B: Crear un paquete para migrar los permisos de una instalación de AEM limpia

  1. Configure una instancia AEM limpia de la misma versión en la que observó el error. Aplicar el mismo service pack, correcciones y/o paquete de corrección acumulativa a la instancia.

  2. Vaya a http://aemhost:port/crx/packmgr/index.jsp e inicie sesión como administrador.

  3. Cree un nuevo paquete.

  4. Haga clic en Editar.

  5. Seleccione la pestaña Filtros.

  6. Añadir una nueva regla para /etc/key.

  7. Haga clic en la pestaña Avanzada.

  8. Configure AC Handling en el modo de fusión.

  9. Haga clic en Guardar.

  10. Haga clic en Crear.

  11. Descargue el paquete.

  12. Cargar e instalar el paquete en el gestor de paquetes de la instancia AEM rota.

Si necesita instalar de nuevo paquetes de permisos personalizados, utilice la opción del paquete Preservar fusión AC Handling en el momento de crear el paquete en la instancia de origen.

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea