ACL設定所導致的AEM工作流程存取和可見度問題

在AEM中,使用者可能會失去對工作流程模型的存取權、檢視他們不應該看到的工作流程,或在存取控制套用不當時無法啟動工作流程。 這些問題通常是由於/var/workflow/models下工作流程執行階段節點上的ACL、過於廣泛的拒絕規則、缺少rep:glob限制或仍然參考舊版/etc/workflow/models路徑的請求所造成。 群組成員資格也會影響使用者是否只看到自己的工作流程,或看到所有工作流程。 更正ACL範圍、驗證工作流程模型路徑並檢閱有效許可權,使工作流程可見性和執行符合預期的存取。

說明 description

環境

  • Adobe Experience Manager as a Cloud Service
  • AEM Managed Services
  • Adobe Experience Manager On-Premise軟體

問題/症狀

  • 使用者無法在工作流程控制檯中看到工作流程模型,即使它們屬於workflow-usersworkflow-administrators
  • 使用者在套用拒絕規則後仍可看到預設的工作流程模型,例如InboxRequest
  • 使用者可以觸發他們原本不打算使用的工作流程。
  • API要求失敗,400 Bad RequestUnknown workflow model with id /etc/workflow/models/...
  • 當管理員嘗試在存取控制專案中鎖定工作流程模型時,這些模型不會出現在許可權選擇器中。

原因

工作流程可見度和存取權是由/var/workflow/models下工作流程模型執行階段節點上的ACL所控制。 當ACL套用至錯誤的位置、缺少rep:glob限制或限制太寬、拒絕規則覆寫預期的允許規則,或工作流程要求仍參照/etc/workflow/models而不是執行階段路徑時,就會發生問題。 在某些情況下,管理員也希望對每個模型套用工作流程許可權,而不新增路徑型限制。

解決方法 resolution

若要解決ACL設定造成的工作流程存取和可見性問題:

  1. 判斷適用哪個工作流程存取問題:缺少可見性、意外可見性、非預期執行存取、API失敗或ACL應用程式失敗。
  2. 確認工作流程模型存在於/var/workflow/models之下,而不僅存在於/etc之下。
  3. 檢閱受影響使用者的群組成員資格,並確認已將使用者指派給適當的工作流程群組,以獲得所需的存取層級。
  4. 檢查是否拒絕/var/workflow/models或父路徑上的jcr:read專案,並移除或縮小任何無意中封鎖所需工作流程模型的規則。
  5. 若要隱藏群組中特定工作流程模型,請在/var/workflow/models上新增拒絕jcr:read ACE,並具有rep:glob限制,以工作流程模型為目標,例如/InboxRequest
  6. 若要僅允許選取的工作流程模型,請套用具有適當rep:glob限制的特定允許規則,而非使用廣泛的許可權。
  7. 如果API要求因未知的工作流程模型錯誤而失敗,請更新要求,使其指向/var/workflow/models下的正確模型路徑。
  8. 如果透過程式碼套用ACL,請先確認目標資料夾存在,再套用ACL,以免部署在不存在的路徑上失敗。
  9. 以受影響的使用者身分再次測試,並確認預期的工作流程模型是可見、隱藏或可預期執行。
  10. 如果工作流程模型存在於/var/workflow/models下,且已放置正確的群組和ACL,但使用者仍然無法如預期看到、啟動或限制預期的工作流程模型,請將案例提交至Adobe支援,並包含受影響的工作流程模型路徑、使用者群組、預期的行為以及任何錯誤,例如Unknown workflow model with id /etc/workflow/models/...

相關閱讀

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