本章介紹如何配置和維護用戶授權,並介紹身份驗證和授權在AEM中如何工作的理論。
本節將更詳細地介紹各種實體和相關概念,以幫助您配置易於維護的用戶管理概念。
使用者將使用其帳戶登入AEM。 每個使用者帳戶都是唯一的,並包含基本帳戶詳細資訊以及指派的權限。
使用者通常是群組的成員,可簡化這些權限和/或權限的分配。
群組是使用者和/或其他群組的集合;這些都稱為組的成員。
其主要用途是透過減少要更新的實體數量來簡化維護程式,因為對群組所做的變更會套用至群組的所有成員。 群組通常會反映:
因此,群組傾向於保持穩定,而使用者來來來得更頻繁。
透過規劃和簡潔的結構,群組的使用可反映您的結構,為您提供清楚的概覽和有效的更新機制。
AEM WCM會安裝許多使用者和群組。 安裝後第一次存取安全控制台時,就會看到這些。
下表列出每個項目,並搭配:
請變更所有預設密碼 (如果您未在某些情況下刪除帳戶本身)。
使用者 ID | 類型 | 說明 | 建議 |
管理員 預設密碼:管理員 |
使用者 | 具有完全訪問權限的系統管理帳戶。 此帳戶用於AEM WCM和CRX之間的連線。 如果您不小心刪除了此帳戶,系統會在重新啟動存放庫時(在預設設定中)重新建立此帳戶。 管理帳戶是AEM平台的需求。 因此,無法刪除此帳戶。 |
Adobe強烈建議將此使用者帳戶的密碼從預設值變更為。 最好在安裝時,儘管可以在安裝後完成。 注意:此帳戶不應與CQ Servlet引擎的管理帳戶混淆。 |
匿名
|
使用者 | 保留未驗證執行個體存取的預設權限。 預設情況下,這包含最低的存取權限。 如果您不小心刪除了此帳戶,則在啟動時會重新建立該帳戶。 無法永久刪除,但可以禁用。 |
請避免刪除或停用此帳戶,因為這會對製作執行個體的運作造成負面影響。 如果存在要求您刪除的安全要求,請務必先正確測試它對您的系統的影響。 |
作者 預設密碼:作者 |
使用者 | 允許寫入/content的作者帳戶。 包含貢獻者和瀏覽者的權限。 可作為網站管理員使用,因為它可以訪問整個/content樹。 這不是內建使用者,而是其他geometrixx示範使用者 |
Adobe建議完全刪除帳戶,或從預設值變更密碼。 最好在安裝時,儘管可以在安裝後完成。 |
管理員 | 群組 | 授予其所有成員管理員權限的組。 僅允許管理員編輯此組。 具有完全訪問權限。 |
如果您在節點上設定了「拒絕所有人」,則只有在該組再次啟用時,管理員才具有訪問權限。 |
內容作者 | 群組 | 負責內容編輯的群組。 需要讀取、修改、建立和刪除權限。 |
只要您新增讀取、修改、建立和刪除權限,即可使用專案特定存取權限建立您自己的內容製作群組。 |
貢獻者 | 群組 | 允許用戶寫入內容的基本權限(僅在功能中)。 不會為/content樹分配任何權限 — 必須為各個組或用戶專門分配這些權限。 |
|
dam-users | 群組 | 典型AEM Assets使用者的現成可用參考群組。 此群組的成員具有適當權限,可啟用資產和集合的上傳/共用。 | |
every | 群組 | AEM中的每位使用者都是群組的成員,即使您在所有工具中可能看不到群組或成員關係。 可將此群組視為預設權限,因為它可用來套用每個人的權限,甚至是將來建立的使用者。 |
請勿修改或刪除此群組。 修改此帳戶會產生其他安全影響。 |
標籤管理員 | 群組 | 允許編輯標籤的群組。 | |
使用者管理員 | 群組 | 授權使用者管理,即建立使用者和群組的權利。 | |
工作流程編輯器 | 群組 | 允許建立和修改工作流模型的組。 | |
工作流 — 使用者 | 群組 | 參與工作流的用戶必須是組工作流用戶的成員。 這可讓他或她完全存取:/etc/workflow/instances,以便他/她可以更新工作流實例。 該組包含在標準安裝中,但您必須手動將用戶添加到組。 |
AEM會使用ACL來判斷使用者或群組可採取哪些動作,以及可在何處執行這些動作。
權限會定義允許誰對資源執行哪些動作。 權限是訪問控制評估的結果。
您可以選取或清除個別AEM actions的核取方塊,以變更授予/拒絕給定使用者的權限。 勾號表示允許執行動作。 無複選標籤表示操作被拒絕。
勾選記號在格線中的位置也代表使用者在AEM內的哪些位置(即哪些路徑)中擁有哪些權限。
可在頁面(資源)上執行動作。 對於階層中的每個頁面,您可以指定允許使用者對該頁面採取的動作。 🔗 允許或拒絕動作的權限。
動作 | 說明 |
讀取 | 允許使用者讀取頁面和任何子頁面。 |
修改 | 使用者可以:
在JCR級別,用戶可以通過修改資源的屬性、鎖定、版本設定、nt-modification來修改資源,並且他們對定義jcr:content子節點的節點(例如cq:Page、nt:file、cq:Asset)具有完全寫權限。 |
建立 | 使用者可以:
如果拒絕modify,則會明確排除jcr:content下的子樹,因為建立jcr:content及其子節點被視為頁面修改。 這僅適用於定義jcr:content子節點的節點。 |
刪除 | 使用者可以:
如果拒絕modify ,則會明確排除jcr:content下的任何子樹,作為刪除jcr:content,其子節點將被視為頁面修改。 這僅適用於定義jcr:content子節點的節點。 |
讀取 ACL | 用戶可以讀取頁面或子頁面的訪問控制清單。 |
編輯 ACL | 用戶可以修改頁面或任何子頁面的訪問控制清單。 |
複寫 | 使用者可將內容複製至其他環境(例如,發佈環境)。 此權限也會套用至任何子頁面。 |
AEM會自動為Collections中的角色指派(擁有者、編輯者、檢視者)產生使用者群組。 不過,手動新增這類群組的ACL可能會在AEM中造成安全漏洞。 Adobe建議您避免手動新增ACL。
AEM WCM使用存取控制清單(ACL)來組織套用至各種頁面的權限。
「存取控制清單」是由個別權限組成,用於決定實際套用這些權限的順序。 清單根據所考慮頁面的階層來形成。 接著會從下到上掃描此清單,直到找到要套用至頁面的第一個適當權限為止。
示例中包含了ACL。 建議您檢閱並決定適合您應用程式的項目。 要查看包含的ACL,請轉至CRXDE ,並為以下節點選擇Access Control頁簽:
/etc/cloudservices/facebookconnect/geometrixx-outdoorsfacebookapp
:允許每個人讀取訪問權限。
/etc/cloudservices/twitterconnect/geometrixx-outdoors-twitter-app
:允許每個人讀取訪問權限。
/home/users/geometrixx-outdoors
:允許每個人讀取*/profile*
和
*/social/relationships/following/*
。
您的自定義應用程式可以設定其他關係(如*/social/relationships/friend/*
或*/social/relationships/pending-following/*
)的訪問權限。
建立特定於社區的ACL時,加入這些社區的成員可能會獲得附加權限。 例如,當使用者在/content/geometrixx-outdoors/en/community/hiking
或/content/geometrixx-outdoors/en/community/winter-sports
處加入社群時,即會發生此情況。
若為CQ 5.3使用者:
與先前的CQ版本不同,如果使用者只需修改頁面,則不應再授與create和delete。 相反地,僅當希望用戶能夠在現有頁面上建立、修改或刪除元件時,才授予modify操作。
基於向後相容性原因,動作測試沒有考慮定義jcr:content的節點的特殊處理。
動作 | 說明 |
---|---|
允許(複選標籤) | AEM WCM可讓使用者在此頁面或任何子頁面上執行動作。 |
拒絕(無複選標籤) | AEM WCM不允許使用者在此頁面或任何子頁面上執行動作。 |
權限也會套用至任何子頁面。
如果權限不是從父節點繼承的,但至少有一個本地條目,則以下符號將附加到複選框。 本機項目是在CRX 2.2介面中建立的項目(目前只能在CRX中建立萬用字元ACL)。
若是指定路徑的動作:
*(星號) | 至少有一個本地條目(有效或無效)。 這些萬用字元ACL在CRX中定義。 |
! (感嘆號) | 至少有一個條目當前無效。 |
將滑鼠指標暫留在星號或驚嘆號上時,工具提示會提供關於宣告項目的詳細資訊。 工具提示分為兩個部分:
上部 | 列出有效條目。 |
下部 | 列出可能在樹中其他位置有效果的無效條目(如具有限制條目範圍的相應ACE的特殊屬性所示)。 或者,這是一個條目,其效果已被在給定路徑或祖先節點處定義的另一個條目撤銷。 |
如果未為頁面定義權限,則所有動作都會遭到拒絕。
以下是管理存取控制清單的建議:
請勿直接將權限指派給使用者。 僅將其指派給群組。
這將簡化維護,因為組數比用戶數少得多,而且波動性也小。
如果您希望群組/使用者只能修改頁面,請勿授予他們建立或拒絕權限。 僅授予他們修改和讀取權限。
請謹慎使用「拒絕」。 盡可能僅使用「允許」。
如果權限的套用順序與預期順序不同,則使用拒絕可能會造成非預期的影響。 如果用戶是多個組的成員,來自一個組的拒絕語句可以取消來自另一個組的允許語句,反之亦然。 發生此情況時很難保留概覽,並且很容易導致無法預料的結果,但「允許」分配不會造成此類衝突。
Adobe建議您使用「允許」而非「拒絕」,請參閱最佳實務。
在修改任一權限之前,請務必了解這些權限的運作方式和相互關聯。 請參閱CRX檔案,以說明AEM WCM 如何評估存取權限以及設定存取控制清單的範例。
權限可讓使用者和群組存取AEM頁面上的AEM功能。
您可以展開/收合節點,依路徑瀏覽權限,並且可以追蹤到根節點的權限繼承。
您可以選取或清除適當的核取方塊,以允許或拒絕權限。
除了格線檢視之外,AEM還提供指定路徑上所選使用者/群組的詳細權限檢視。 詳細資訊檢視提供其他資訊。
除了檢視資訊外,您也可以從群組中包含或排除目前的使用者或群組。 請參閱「新增權限時新增使用者或群組」🔗。 此處所做的變更會立即反映在詳細檢視的上部。
若要存取「詳細資料」檢視,請在Permissions標籤中,按一下任何所選群組/使用者和路徑的Details。
詳細資訊分為兩部分:
上部 | 重複在樹網格中看到的資訊。 對於每個動作,圖示會顯示是否允許或拒絕動作:
|
下部 | 顯示執行下列操作的用戶和組的網格:
|
透過模擬功能,使用者可以代表其他使用者工作。
這表示使用者帳戶可以指定其他可搭配其帳戶運作的帳戶。 換句話說,如果允許使用者B模擬使用者A,則使用者B可使用使用者A的完整帳戶詳細資訊來執行動作。
這可讓模擬者帳戶完成工作,就像使用其模擬的帳戶一樣;例如,在缺勤期間或在短期內共用過多負荷。
為了模擬對非管理員使用者有效,模擬器(在上述案例中為user-B)必須在/home/users
路徑中擁有讀取權限。
如需如何達成此目標的詳細資訊,請參閱AEM🔗中的權限。
如果某個帳戶模擬另一個帳戶,就很難看到。 模擬開始和結束時,在審核日誌中建立一個條目,但其他日誌檔案(如訪問日誌)不包含有關事件上發生了模擬的事實的資訊。 因此,如果使用者B模擬使用者A,則所有事件看起來都像是由使用者A個人執行。
模擬使用者時,可執行鎖定頁面的作業。 不過,以此方式鎖定的頁面只能以模擬的使用者或具有管理員權限的使用者身分解除鎖定。
無法通過模擬鎖定頁面的用戶來解除鎖定頁面。
以下說明使用權限時的最佳實務:
規則 | 原因 |
---|---|
使用群組 | 避免按用戶分配訪問權限。 原因有幾:
|
積極 | 一律使用「允許」陳述式來指定群組的權利(盡可能)。 避免使用Deny語句。 系統會依序評估群組,且順序的定義可能會因使用者而異。 換句話說:您可能對語句的實施和評估順序幾乎沒有控制權。 如果您只使用Allow陳述式,則順序並不重要。 |
保持簡單 | 在配置新安裝時花一些時間和時間進行思考將得到很好的回報。 應用清晰的結構將簡化持續的維護和管理,確保您的當前同事和/或未來的繼任者都能輕鬆了解正在實施的內容。 |
測試 | 使用測試安裝來實踐並確保您了解各種使用者和群組之間的關係。 |
預設使用者/群組 | 安裝後請一律立即更新預設使用者和群組,以避免發生任何安全問題。 |
用戶包括使用系統的用戶和向系統提出請求的外國系統。
群組是一組使用者。
兩者皆可使用安全控制台中的「使用者管理」功能來設定。
您可以使用安全控制台訪問所有用戶、組和關聯權限。 本節中描述的所有過程都將在此窗口中執行。
若要存取AEM WCM安全性,請執行下列其中一項操作:
https://<server>:<port>/useradmin
。 請務必以管理員身分登入AEM。隨即顯示下列視窗:
左側樹列出系統中當前的所有用戶和組。 您可以選取要顯示的欄、排序欄的內容,甚至將欄標題拖曳到新位置,以變更欄的顯示順序。
這些頁簽提供對各種配置的訪問:
索引標籤 | 說明 |
---|---|
篩選方塊 | 篩選所列使用者和/或群組的機制。 請參閱篩選使用者和群組。 |
隱藏使用者 | 切換開關,將隱藏列出的所有用戶,僅保留組。 請參閱隱藏使用者和群組。 |
隱藏群組 | 切換開關,將隱藏所列的所有組,僅保留用戶。 請參閱隱藏使用者和群組。 |
編輯 | 功能表可讓您建立和刪除,以及啟用和停用使用者或群組。 請參閱建立使用者和群組和刪除使用者和群組。 |
屬性 | 列出關於用戶或組的資訊,這些資訊可以包括電子郵件資訊、說明和名稱資訊。 也可讓您變更使用者的密碼。 請參閱建立用戶和組、修改用戶和組屬性和更改用戶密碼。 |
群組 | 列出選定用戶或組所屬的所有組。 您可以將選取的使用者或群組指派給其他群組,或從群組中移除。 請參閱群組。 |
成員 | 僅適用於群組。 列出特定組的成員。 請參閱成員。 |
權限 | 您可以為使用者或群組分配權限。 可讓您控制下列項目: |
Impersonator | 讓其他使用者模擬帳戶。 當您需要使用者代表其他使用者行事時,此功能相當實用。 請參閱模擬使用者。 |
偏好設定 | 設定組或用戶🔗的首選項。 例如,語言偏好設定。 |
您可以輸入篩選運算式來篩選清單,這會隱藏不符合運算式的所有使用者和群組。 您也可以使用隱藏用戶和隱藏組按鈕來隱藏用戶和組。
若要篩選使用者或群組:
在左樹狀清單中,在提供的空格中輸入篩選運算式。 例如,輸入admin會顯示包含此字串的所有使用者和群組。
按一下放大鏡以篩選清單。
若要移除所有篩選器,請按一下x。
隱藏用戶或組是篩選系統中所有用戶和組的清單的另一種方法。 有兩個切換機構。 按一下「隱藏使用者」會隱藏所有使用者,按一下「隱藏群組」會隱藏所有使用者的檢視(您無法同時隱藏使用者和群組)。 若要使用篩選運算式來篩選清單,請參閱「篩選使用者和群組」。
要隱藏用戶和組,請執行以下操作:
在Security控制台中,按一下「隱藏用戶」或「隱藏組」。 所選按鈕將突出顯示。
若要讓使用者或群組重新出現,請再次按一下對應的按鈕。
要建立新用戶或組:
在Security控制台樹清單中,按一下Edit,然後按一下Create User或Create Group。
根據您要建立使用者或群組,輸入所需的詳細資訊。
按一下建立。您建立的用戶或組將顯示在樹清單中。
要刪除用戶或組:
要修改用戶和組屬性,請執行以下操作:
在Security控制台中,按兩下要修改的用戶或組名稱。
按一下屬性頁簽,進行所需的更改,然後按一下保存。
使用者的路徑會顯示在使用者屬性底部。 無法修改。
使用以下過程修改用戶的密碼。
您無法使用安全控制台來更改管理員密碼。 若要變更管理員帳戶的密碼,請使用Granite Operations提供的Users主控台。
在Security控制台中,按兩下要更改密碼的用戶名。
按一下屬性標籤(如果尚未啟用)。
按一下「設定密碼」。 「設定密碼」(Set Password)窗口將開啟,您可以在其中更改密碼。
輸入新密碼兩次;由於它們未顯示在明文中,因此這是為了確認 — 如果它們不匹配,系統會顯示錯誤。
按一下設定以啟用帳戶的新密碼。
AEM提供三種將使用者或群組新增至現有群組的方法:
群組標籤會顯示目前帳戶所屬的群組。 您可以使用它將選取的帳戶新增至群組:
連按兩下您要指派給群組的帳戶名稱(使用者或群組)。
按一下群組標籤。 您會看到帳戶已屬於的群組清單。
在樹清單中,按一下要添加到帳戶的組的名稱,並將其拖動到組窗格。 (如果要添加多個用戶,請按住Shift鍵並按一下或按住Ctrl鍵並按一下這些名稱並拖動它們。)
按一下儲存以儲存變更。
成員頁簽僅適用於組,並顯示哪些用戶和組屬於當前組。 您可以使用它來新增帳戶至群組:
按兩下要添加成員的組的名稱。
按一下Members頁簽。 您會看到已屬於此組的成員清單。
在樹清單中,按一下要添加到組的成員的名稱,並將其拖動到成員窗格。 (如果要添加多個用戶,請按住Shift鍵並按一下或按住Ctrl鍵並按一下這些名稱並拖動它們。)
按一下儲存以儲存變更。
若要在特定路徑的將成員新增至群組:
按兩下要添加用戶的組或用戶的名稱。
按一下Permissions標籤。
導覽至您要新增權限的路徑,然後按一下Details。 詳細資訊視窗的下半部分提供關於誰擁有該頁面權限的資訊。
在成員列中,為要具有該路徑權限的成員選擇複選框。 清除要為刪除權限的成員的複選框。 在您對進行變更的儲存格中,會顯示紅色三角形。
按一下OK以儲存變更。
AEM提供三種從群組中移除使用者或群組的方法:
要從組中刪除用戶或組帳戶:
按兩下要從組中刪除的組或用戶帳戶的名稱。
按一下群組標籤。 您會看到所選帳戶所屬的群組。
在組窗格中,按一下要從組中刪除的用戶或組的名稱,然後按一下刪除。 (如果要刪除多個帳戶,請按住Shift鍵並按一下或按住Ctrl鍵並按一下這些名稱,然後按一下Remove。)
按一下儲存以儲存變更。
要從組中刪除帳戶,請執行以下操作:
按兩下要從中刪除成員的組的名稱。
按一下Members頁簽。 您會看到已屬於此組的成員清單。
在成員窗格中,按一下要從組中刪除的成員的名稱,然後按一下刪除。 (如果要刪除多個用戶,請按住Shift鍵並按一下或按住Ctrl鍵並按一下這些名稱,然後按一下Remove。)
按一下儲存以儲存變更。
要在特定路徑從組中刪除成員:
按兩下要從中刪除用戶的組或用戶的名稱。
按一下Permissions標籤。
導覽至您要移除權限的路徑,然後按一下Details。 詳細資訊視窗的下半部分提供關於誰擁有該頁面權限的資訊。
在成員列中,為要具有該路徑權限的成員選擇複選框。 清除要為刪除權限的成員的複選框。 在您對進行變更的儲存格中,會顯示紅色三角形。
按一下OK以儲存變更。
當部署為publish farm時,需要在所有發佈節點之間同步用戶和組。
要了解用戶同步以及如何啟用它,請參閱用戶同步。
本節說明如何設定權限,包括復寫權限。
權限可讓使用者對特定路徑上的資源執行特定動作。 也包含建立或刪除頁面的功能。
要添加、修改或刪除權限,請執行以下操作:
在Security控制台中,按兩下要為或搜索節點設定權限的用戶或組的名稱。
按一下Permissions標籤。
在樹網格中,選擇一個複選框,以允許所選用戶或組執行操作,或清除一個複選框以拒絕所選用戶或組執行操作。 有關詳細資訊,請按一下Details。
完成後,按一下Save。
復寫權限是發佈內容的權利,可為群組和使用者設定。
要設定複製權限,請執行以下操作:
從清單中選擇用戶或組,按兩下以開啟,然後按一下Permissions。
在網格中,導航到希望用戶具有複製權限或搜索節點的路徑。
在所選路徑的複製列中,選擇一個複選框以添加該用戶或組的複製權限,或清除該複選框以刪除複製權限。 AEM會在您所做變更尚未儲存的任何位置顯示紅色三角形。
按一下儲存以儲存變更。
新增或移除權限時,您可以瀏覽或搜尋節點。
路徑搜尋有兩種不同類型:
在搜尋方塊中,您可以執行下列動作:
動作 | 它的作用 |
---|---|
向右鍵 | 在搜索結果中選擇子節點 |
向下鍵 | 再次開始搜索。 |
輸入(返回)鍵 | 選取子節點並將其載入樹狀格中 |
要對路徑或全文執行搜索:
在安全控制台中,選擇用戶或組,然後按一下權限頁簽。
在「搜索」框中,輸入要搜索的詞。
您可以指定一或多個允許模擬目前使用者的使用者。 這表示他們可以將其帳戶設定切換為目前使用者的帳戶設定,並代表此使用者行事。
使用此函式時請小心,因為它可能允許使用者執行其自己使用者無法執行的動作。 模擬使用者時,系統會通知使用者自己未登入。
您可能會想要使用此功能的各種案例,包括:
要模擬現有用戶:
在樹清單中,選擇要為其分配其他用戶進行模擬的人員的名稱。 按兩下以開啟。
按一下模擬器標籤。
按一下您要能夠模擬所選使用者的使用者。 將使用者(將模擬的使用者)從清單拖曳至「模擬」窗格。 名稱會出現在清單中。
按一下「儲存」。
要設定用戶和組首選項,包括語言、窗口管理和工具欄首選項:
在左側樹中選擇要更改其首選項的用戶或組。 若要選取多個使用者或群組,請按住Ctrl鍵並按一下或按住Shift鍵並按一下您的選取項目。
按一下Preferences標籤。
根據需要對組或用戶首選項進行更改,並在完成後按一下Save。
若要設定使用者或管理員擁有刪除/啟用/停用其他使用者的權限:
將要授予管理其他用戶權限的用戶添加到管理員組並保存更改。
在用戶的權限頁簽中,導航到「/」,在「複製」列中,選擇允許在「/」進行複製的複選框,然後按一下保存。
選取的使用者現在能停用、啟用、刪除及建立使用者。
如果您打算實作應用程式特定權限,下列資訊將說明實作自訂權限所需了解的事項,以及如何在CQ中強制執行該權限:
層次結構修改權限由jcr權限的組合覆蓋。 複製權限的名稱為crx:replicate,該權限與jcr儲存庫上的其他權限一起儲存/評估。 但是,它沒有在jcr層級執行。
自訂權限的定義和註冊正式屬於2.4版起的Jackrabbit API的一部分(另請參閱JCR-2887)。 JCR訪問控制管理涵蓋進一步的使用,如由JSR 283(第16節)定義。 此外,Jackrabbit API定義一些擴充功能。
權限註冊機制反映在UI的Repository Configuration下。
新(自訂)權限的註冊本身受必須在儲存庫級別(在JCR中:在ac mgt api中將'null'傳遞為'absPath'參數,如需詳細資訊,請參閱jsr 333)。 預設情況下,admin和管理員的所有成員都具有該權限。
雖然實作會負責驗證和評估自訂權限,但除非這些權限是內建權限的匯總,否則無法強制執行。