Adobe Experience Manager LTS中具有RepoInit的ACL排序

本文說明在Adobe Experience Manager (AEM) LTS版本中,使用RepoInit變更ACL插入順序時,如何導致自訂群組允許許可權被預設的拒絕規則覆寫,並提供確保ACL順序正確性的步驟。

說明 description

環境

  • Adobe Experience Manager (AEM) 6.6.x (LTS SP2)
  • Adobe Experience Manager (AEM) 6.5.x

問題/症狀

使用Sling RepoInit建立自訂作者群組和ACL時,AEM 6.5和AEM LTS (6.6.x)之間的存取控制專案(ACE)順序不同。 在AEM 6.5中,自訂ACE會附加在相同路徑上的default/product個ACE之後。 在AEM LTS中,自訂ACL會插入在預設ACE之前。 例如,在路徑(例如/content/projects)上,自訂群組允許專案可能會出現在預設的拒絕所有人專案之前。 由於所有使用者都是everyone群組的成員,因此「拒絕」專案可能會覆寫自訂群組許可權,進而影響這些群組的刪除和寫入許可權。 不會記錄任何錯誤訊息,但會影響有效許可權。

原因

AEM LTS中RepoInit ACL插入順序的變更會導致在預設的Deny專案之前插入自訂Allow專案,導致Deny規則覆寫自訂許可權。 透過RepoInit明確移除和重新新增ACL可確保正確順序。

解決方法 resolution

若要修正問題,請遵循下列步驟:

  1. 更新您的RepoInit設定,在重新新增現有自訂ACL之前,從受影響的路徑中將其明確移除。 例如:

    code language-none
    set ACL for
    remove * on /content/projects
    allow jcr:lockManagement, jcr:read, jcr:versionManagement, jcr:write on /content/projects
    end
    

<custom-group>取代為您的實際群組名稱。
​2. 透過您的標準部署管道部署更新的RepoInit設定。
​3. 部署後,請驗證ACL順序是否如預期般以及自訂群組許可權是否有效。 您可以使用CRXDE或AEM安全性主控台,確認自訂允許專案出現在相關路徑的預設拒絕專案之後。
​4. 測試受影響群組的刪除和寫入作業,以確保許可權正確。
​5. 在生產環境中,請避免在CRXDE中手動ACL重新排序,因為這不是可擴充或受支援的長期解決方案。

recommendation-more-help
experience-cloud-kcs-help-kbarticles