中繼資料導向的許可權 metadata-driven-permissions
中繼資料導向許可權是一項功能,可讓AEM Assets Author的存取控制決定以資產內容或中繼資料屬性為依據,而非檔案夾結構。 透過此功能,您可以定義存取控制原則以評估屬性,例如資產狀態、型別或您定義的任何自訂屬性。
讓我們來看一個範例。 創意人員將其工作上傳至AEM Assets至行銷活動相關資料夾,可能是未獲核准使用的進行中資產。 我們希望確保行銷人員只看見此行銷活動的已核准資產。 我們可以使用中繼資料屬性來指出資產已核准,且可供行銷人員使用。
運作方式
啟用中繼資料導向許可權涉及定義哪些資產內容或中繼資料屬性將驅動存取限制,例如「狀態」或「品牌」。 然後,這些屬性可用於建立存取控制專案,以指定哪些使用者群組有權存取具有特定屬性值的資產。
先決條件
若要設定中繼資料導向的許可權,必須存取更新至最新版本的AEM as a Cloud Service環境。
OSGi設定 configure-permissionable-properties
若要實作中繼資料導向許可權,開發人員必須將OSGi設定部署至AEM as a Cloud Service,此設定可啟用特定資產內容或中繼資料屬性,以支援中繼資料導向許可權。
-
決定哪些資產內容或中繼資料屬性將用於存取控制。 屬性名稱是資產
jcr:content或jcr:content/metadata資源上的JCR屬性名稱。 在我們的案例中,它將是一個名為status的屬性。 -
在您的AEM Maven專案中建立OSGi設定
com.adobe.cq.dam.assetmetadatarestrictionprovider.impl.DefaultRestrictionProviderConfiguration.cfg.json。 -
將下列JSON貼到建立的檔案中:
code language-json { "restrictionPropertyNames":[ "status", "brand" ], "restrictionContentPropertyNames":[], "enabled":true } -
以必要的值取代屬性名稱。
restrictionContentPropertyNames設定屬性是用來啟用jcr:content資源屬性的許可權,而restrictionPropertyNames設定屬性是啟用資產jcr:content/metadata資源屬性的許可權。
重設基本資產許可權
新增限制型存取控制專案之前,應先新增頂層專案,以首先拒絕受Assets許可權評估的所有群組(例如「貢獻者」或類似專案)的讀取存取:
- 瀏覽至 工具→安全性→許可權 畫面
- 選取 參與者 群組(或所有使用者群組所屬的其他自訂群組)
- 按一下熒幕右上角的新增ACE
- 為 路徑 選取
/content/dam - 輸入 許可權 的
jcr:read - 選取 許可權型別 的
Deny - 在[限制]下,選取
rep:ntNames並輸入dam:Asset作為限制值 - 按一下儲存
透過中繼資料授予資產存取權
現在可以新增存取控制專案,以根據設定的資產中繼資料屬性值授予使用者群組的讀取存取權。
- 瀏覽至 工具→安全性→許可權 畫面
- 選取應具備資產存取權的使用者群組
- 按一下熒幕右上角的新增ACE
- 選取 路徑 的
/content/dam(或子資料夾) - 輸入 許可權 的
jcr:read - 選取 許可權型別 的
Allow - 在 限制 下,選取OSGi設定🔗中設定的個資產中繼資料屬性名稱之一
- 在 限制值 欄位中輸入必要的中繼資料屬性值
- 按一下 + 圖示,將限制新增至存取控制專案
- 按一下儲存
有效中繼資料導向許可權
範例資料夾包含一些資產。
設定許可權並據此設定資產中繼資料屬性後,使用者(在此案例中為行銷人員使用者)將只會看到核准的資產。
優點與考量事項
中繼資料導向許可權的優點包括:
- 根據特定屬性對資產存取進行微調控制。
- 將存取控制原則與檔案夾結構分離,讓資產組織更具彈性。
- 能夠根據多個內容或中繼資料屬性定義複雜的存取控制規則。
- 使用__字串等同性__ (
=) (尚未支援其他資料型別或運運算元,大於(>)或日期屬性)來針對限制評估屬性 - 若要允許限制屬性有多個值,可以從[選取型別]下拉式選單中選取相同的屬性,然後輸入新的限制值(例如
status=approved、status=wip),再按一下[+]將限制新增至專案,以新增其他限制至存取控制專案
- 支援__AND限制__,透過具有不同屬性名稱(例如
status=approved、brand=Adobe)的單一Access Control專案中的多重限制,將評估為AND條件,亦即,選取的使用者群組將被授與具有status=approved AND brand=Adobe之資產的讀取存取權
- 新增具有中繼資料屬性限制的存取控制專案,可支援__OR限制__,為專案建立OR條件,例如,限製為
status=approved的單一專案,以及限製為brand=Adobe的單一專案將評估為status=approved OR brand=Adobe