進行 Headless 實作時,應該處理幾個安全和權限方面的問題。權限和角色可以根據 AEM 環境:作者或發佈進行廣泛的考量。每個環境都包含不同的角色和不同的需求。
編寫服務是內部使用者建立、管理和發佈內容的地方。權限取決於管理內容的不同角色。
作為最佳做法,應在 AEM 的群組上設定權限。也稱為本機群組,這些群組可以在 AEM 編寫環境中管理。
管理群組成員身份最簡單方法是使用 Adobe Identity Management System (IMS) 群組,並將 IMS 群組指派到本機 AEM 群組。
概略來說,該流程是:
說明如何管理 IMS 和 AEM 使用者和群組的詳細影片逐步解說位於此處。
若要管理 AEM 群組,請導覽至工具 > 安全性 > 群組。
若要管理 AEM 群組權限,請導覽至工具 > 安全性 > 權限。
在這種情況下,「DAM」是指數位資產管裡。DAM 使用者是可立即使用的 AEM 群組,可用於管理數位資產和內容片段的「日常」使用者。此群組提供相關權限可讓使用者檢視、新增、更新、刪除以及發佈片段內容和 AEM Assets 中的所有其他檔案。
如果使用 IMS 來管理群組成員資格,請將適當的 IMS 群組新增為 DAM 使用者群組的成員。IMS 群組的成員在登入 AEM 環境時會繼承 DAM 使用者群組的權限。
最好不要直接修改可立即使用群組的權限。相反地,您也可以根據 DAM 使用者群組權限建立您自己的群組,並進一步限制 AEM Assets 內不同資料夾的存取權。
如需更精細的權限,請使用 AEM 中的權限主控台,並將路徑從 /content/dam
更新為更具體的路徑,即 /content/dam/mycontentfragments
。
可能需要授予此群組使用者建立和編輯而非刪除內容片段的權限。若要查看和指派編輯權限而非刪除權限,請參閱內容片段 - 刪除考量事項。
修改內容片段模型的能力應交給管理員或具有較高權限的一小組使用者。修改內容片段模型會對下游產生很多影響。
修改內容片段模型會改變 Headless 應用程式所依賴的基礎 GraphQL API。
如果您想要建立一個可以管理內容片段模型但沒有完全管理員存取權的群組,可以建立具有以下存取控制項目的群組:
路徑 | 權限 | 權限 |
---|---|---|
/conf |
允許 | jcr:read |
/conf/<config-name>/settings/dam/cfm |
允許 | rep:write , crx:replicate |
發佈服務被視為「即時環境」,通常是 GraphQL API 取用者互動的對象。內容在編寫服務經編輯和核准後,將發佈到發佈服務。然後, Headless 應用程式透過 GraphQL API 從發佈服務取用經核准的內容。
依預設,透過 AEM 發佈服務的 GraphQL 端點公開的內容,每個人都可存取,包括未經驗證的使用者。
透過 AEM GraphQL API 公開的內容可以使用在資產資料夾上設定的封閉使用者群組 (CUG) 來進行限制,其在指定哪些 AEM 使用者群組 (及其成員) 可以存取資產資料夾的內容。
資產 CUG 透過以下方式運作:
在內含透過 GraphQL API 公開之內容的資產資料夾上,可以設定 CUG。AEM Publish 資產資料夾的存取權應透過使用者群組控制,而非直接由使用者控制。建立 (或重複使用) AEM 使用者群組,該群組會授予內含 GraphQL API 公開之內容的資產資料夾存取權。
AEM Headless SDK 支援兩種驗證類型:
提供適當驗證認證給 AEM Publish 服務 GraphQL API 端點的 HTTP 要求,其包含認證被授權可讀取的內容和能以匿名方式存取的內容。GraphQL API 的其他取用者無法讀取受 CUG 保護之資料夾中的內容。