Problema

Impossibile accedere alle istanze AEM a causa di ACLs cryptoservice mancante. L'errore [1] che segue viene osservato nell'avvio di error.log.

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

Questo problema è causato quando vengono installati pacchetti di autorizzazione personalizzati all'istanza che sovrascrivono le ACLs predefinite.

Risoluzione

Opzione A: Creare l'ACL mancante

  1. Vai su http://aemhost:port/crx/de/index.jsp e accedi come amministratore.

  2. Sfoglia /etc/key.

  3. Seleziona la scheda Controllo accesso .

  4. Concedi cryptoservice user rep:all autorizzazione sul nodo.

Opzione B: Crea un pacchetto per eseguire la migrazione delle autorizzazioni da un'installazione AEM pulita 

  1. Imposta un'istanza AEM pulita della stessa versione su cui hai osservato l'errore. Applica lo stesso service pack, hotfix e/o fix pack cumulativo all'istanza.

  2. Vai su http://aemhost:port/crx/packmgr/index.jsp e accedi come amministratore.

  3. Crea un nuovo pacchetto.

  4. Fai clic su Modifica.

  5. Seleziona la scheda Filtri.

  6. Aggiungi una nuova regola per /etc/key.

  7. Fai clic sulla scheda Avanzate

  8. Impostare Gestione AC in modalità Unisci .

  9. Fai clic su Salva.

  10. Fai clic suGenera.

  11. Scarica il pacchetto.

  12. Carica e installa il pacchetto nel gestore di pacchetti dell'istanza AEM interrotta.

Se hai bisogno di installare nuovamente pacchetti di autorizzazioni personalizzati, usa l'opzione pacchetto MergePreserve Gestione AC al momento della creazione del pacchetto sull'istanza sorgente.

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online