問題点

cryptoservice ACL が欠落しているため AEM インスタンスにログインできません。下のエラー [1] が、起動時の 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)

原因

この問題は、カスタム権限パッケージが工場出荷時の ACL を上書きするインスタンスにインストールされる場合に発生します。

解決策

オプション A:欠落している ACL を作成する

  1. http://aemhost:port/crx/de/index.jsp に移動し、管理者としてログインします。

  2. /etc/key を参照します。

  3. アクセス制御」タブを選択します。

  4. ノードの cryptoservice ユーザーの rep:all 権限を付与します。

オプション B:クリーン AEM インストールから権限を移行するためのパッケージを作成する

  1. エラーを検出した同じバージョンのクリーン AEM インスタンスを設定します。同じサービスパック、ホットフィックスおよび/または累積修正パックをインスタンスに適用します。

  2. http://aemhost:port/crx/packmgr/index.jsp に移動し、管理者としてログインします。

  3. 新しいパッケージを作成します。

  4. 編集をクリック。

  5. フィルター」タブを選択します。

  6. /etc/key の新しいルールを追加します。

  7. 詳細」タブをクリックします。

  8. AC の処理」を「統合」モードに設定します。

  9. 保存」をクリックします。

  10. ビルド」をクリックします。

  11. パッケージをダウンロードします。

  12. 破損した AEM インスタンスのパッケージマネージャーにパッケージをアップロードしてインストールします。

カスタム権限パッケージを再インストールする必要がある場合は、ソースインスタンスのパッケージを構築するときに、MergePreserve AC の処理パッケージオプションを使用します。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー