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-users或workflow-administrators。 - 使用者在套用拒絕規則後仍可看到預設的工作流程模型,例如
InboxRequest。 - 使用者可以觸發他們原本不打算使用的工作流程。
- API要求失敗,
400 Bad Request和Unknown workflow model with id /etc/workflow/models/...。 - 當管理員嘗試在存取控制專案中鎖定工作流程模型時,這些模型不會出現在許可權選擇器中。
原因
工作流程可見度和存取權是由/var/workflow/models下工作流程模型執行階段節點上的ACL所控制。 當ACL套用至錯誤的位置、缺少rep:glob限制或限制太寬、拒絕規則覆寫預期的允許規則,或工作流程要求仍參照/etc/workflow/models而不是執行階段路徑時,就會發生問題。 在某些情況下,管理員也希望對每個模型套用工作流程許可權,而不新增路徑型限制。
解決方法 resolution
若要解決ACL設定造成的工作流程存取和可見性問題:
- 判斷適用哪個工作流程存取問題:缺少可見性、意外可見性、非預期執行存取、API失敗或ACL應用程式失敗。
- 確認工作流程模型存在於
/var/workflow/models之下,而不僅存在於/etc之下。 - 檢閱受影響使用者的群組成員資格,並確認已將使用者指派給適當的工作流程群組,以獲得所需的存取層級。
- 檢查是否拒絕
/var/workflow/models或父路徑上的jcr:read專案,並移除或縮小任何無意中封鎖所需工作流程模型的規則。 - 若要隱藏群組中特定工作流程模型,請在
/var/workflow/models上新增拒絕jcr:readACE,並具有rep:glob限制,以工作流程模型為目標,例如/InboxRequest。 - 若要僅允許選取的工作流程模型,請套用具有適當
rep:glob限制的特定允許規則,而非使用廣泛的許可權。 - 如果API要求因未知的工作流程模型錯誤而失敗,請更新要求,使其指向
/var/workflow/models下的正確模型路徑。 - 如果透過程式碼套用ACL,請先確認目標資料夾存在,再套用ACL,以免部署在不存在的路徑上失敗。
- 以受影響的使用者身分再次測試,並確認預期的工作流程模型是可見、隱藏或可預期執行。
- 如果工作流程模型存在於
/var/workflow/models下,且已放置正確的群組和ACL,但使用者仍然無法如預期看到、啟動或限制預期的工作流程模型,請將案例提交至Adobe支援,並包含受影響的工作流程模型路徑、使用者群組、預期的行為以及任何錯誤,例如Unknown workflow model with id /etc/workflow/models/...。
相關閱讀
recommendation-more-help
experience-cloud-kcs-help-kbarticles