啟用CRX存放庫的存取權涉及幾個主題:
基本元素包括:
使用者帳戶 - CRX會根據使用者帳戶中保留的詳細資訊,識別及驗證使用者(由該人員或其他應用程式),以驗證存取權。
在CRX中,每個使用者帳戶都是工作區中的節點。 CRX使用者帳戶具有下列屬性:
它代表CRX的一名使用者。
它包含使用者名稱和密碼。
適用於該工作區。
它不能有子使用者。 若要使用階層式存取許可權,您應該使用群組。
您可以指定使用者帳戶的存取許可權。
不過,為了簡化管理,Adobe建議(大多數情況下)您指派存取權給群組帳戶。 為每個個別使用者指派存取許可權會迅速變得難以管理(只有一或兩個執行個體存在時,某些系統使用者是例外)。
群組帳戶 — 群組帳戶是使用者和/或其他群組的集合。 當指派給群組的存取許可權變更自動套用至該群組的所有使用者時,這些可用來簡化管理。 使用者不必屬於任何群組,但通常屬於數個群組。
在CRX中,群組具有以下屬性:
存取許可權 - CRX使用存取權來控制對存放庫特定區域的存取。
若要這麼做,請將許可權指派給允許或拒絕存取存放庫中的資源(節點或路徑)。 由於可以指派各種許可權,因此必須評估這些許可權,以判斷哪個組合適用於目前的請求。
CRX可讓您設定使用者和群組帳戶的存取權。 然後會將相同的基本評估原則套用至兩者。
CRX實作 JSR-283定義的存取控制.
CRX存放庫的標準安裝設定為使用以資源為基礎的存取控制清單。 這是JSR-283存取控制的一個可能實作,也是Jackrabbit提供的實作之一。
CRX在評估存取權時使用兩個關鍵概念:
A 主體 是一個具有存取許可權的實體。 主要專案包括:
使用者帳戶
群組帳戶
如果使用者帳戶屬於一或多個群組,它也會與每個群組主參與者相關聯。
A 主旨 用於代表要求的來源。
它可用來合併適用於該請求的存取權。 這些擷取自:
使用者主體
您直接指派給使用者帳戶的許可權。
與該使用者相關聯的所有群組主體
所有許可權都會指派給使用者所屬的任何群組。
然後會使用結果來允許或拒絕存取要求的資源。
在CRX中,主題取決於:
適用於主體的存取權清單由以下內容建構:
CRX處理要求時,會將來自主體的存取要求與存放庫節點上的存取控制清單做比較:
所以,如果Linda要求更新 /features
節點(在下列存放庫結構中):
CRX中的存取權評估如下:
使用者主參與者一律優先於群組主參與者,不論:
對於指定的主體,指定節點上最多有一個「拒絕」和「允許」專案。 實作一律會清除多餘的專案,並確保允許和拒絕專案中未列出相同的許可權。
此評估程式適用於標準CRX安裝的資源型存取控制。
舉兩個例子,使用者 aUser
是群組的成員 aGroup
:
+ parentNode
+ acl
+ ace: aUser - deny - write
+ childNode
+ acl
+ ace: aGroup - allow - write
+ grandChildNode
在上述案例中:
aUser
未授予寫入許可權 grandChildNode
. + parentNode
+ acl
+ ace: aUser - deny - write
+ childNode
+ acl
+ ace: aGroup - allow - write
+ ace: aUser - deny - write
+ grandChildNode
在此案例中:
aUser
未授予寫入許可權 grandChildNode
.aUser
為備援。系統會根據多群組主體的順序,在階層內和單一存取控制清單中,評估來自多群組主體的存取權。
下表列出一些建議和最佳實務:
建議…… | 原因... |
使用群組 | 避免依個別使用者指派存取許可權。 原因有幾個:
|
正面 | 請一律使用Allow陳述式來指定群組主體的存取許可權(儘可能使用)。 避免使用Deny陳述式。 群組主體會以順序評估,包括階層內的和單一存取控制清單內的順序。 |
保持簡單 | 在設定新安裝時投入一些時間和思考,是很好的回報。 套用清晰的結構可簡化持續的維護和管理,確保您目前的同事和/或未來的後續人員都能輕鬆瞭解正在實作的內容。 |
測試 | 使用測試安裝來練習並確保您瞭解各種使用者和群組之間的關係。 |
預設使用者/群組 | 務必在安裝後立即更新「預設使用者與群組」,以防止任何安全性問題。 |
標準對話方塊用於 使用者管理.
您必須登入適當的工作區,才能從以下兩個位置存取對話方塊:
屬性
使用者ID
存取CRX時會使用帳戶的簡短名稱。
主體名稱
帳戶的全文名稱。
密碼
使用此帳戶存取CRX時需要。
ntlmhash
自動指派給每個新帳戶,並在密碼變更時更新。
您可以定義名稱、型別和值,以新增屬性。 按一下每個新屬性的「儲存」(綠色勾號符號)。
群組會籍
這會顯示帳戶所屬的所有群組。 「已繼承」欄表示由於另一個群組的成員資格而繼承的成員資格。
按一下GroupID (可用時)開啟 群組管理 代表該群組。
Impersonator
透過模擬功能,使用者可以代表其他使用者工作。
這表示使用者帳戶可以指定可以與其帳戶一起操作的其他帳戶(使用者或群組)。 換言之,如果允許使用者B模擬使用者A,則使用者B可以使用使用者A的完整帳戶詳細資訊(包括ID、名稱和存取許可權)來採取行動。
這可讓模擬者帳戶完成工作,就好像他們正使用自己所模擬的帳戶一樣;例如,在缺勤期間,或是在短期共用過多負載。
如果帳戶模擬其他帳戶,就很難檢視。 記錄檔不會保留事件上已發生模擬的資訊。 因此,如果使用者B模擬使用者A,所有事件看起來都像是使用者A個人執行的。
開啟 使用者管理 對話方塊。
按一下 建立使用者.
然後,您可以輸入「屬性」:
按一下「儲存」(綠色勾號符號)。
此對話方塊會展開,以便您執行下列動作:
在同時擁有大量下列專案的安裝中註冊新使用者時,有時會導致效能損失:
這會將這個主體的節點從存放庫中移除。
不會移除存取許可權專案。 這可確保歷史完整性。
您可以定義 屬性 對於新帳戶或現有帳戶:
現有屬性可使用垃圾桶符號刪除。
除了密碼之外,屬性無法編輯,必須刪除並重新建立。
此 密碼 是一個特殊屬性,按一下 變更密碼 連結。
您也可以將密碼變更為您自己的使用者帳戶,從 安全性 CRX Explorer中的功能表。
您可以為新帳戶或現有帳戶定義「模擬者」:
開啟 使用者管理 適當帳戶的對話方塊。
指定要允許模擬該帳戶的帳戶。
您可以使用「瀏覽……」來選取現有帳戶。
按一下新屬性的「儲存」(綠色勾號符號)。
標準對話方塊用於 群組管理.
您必須登入適當的工作區,才能從以下兩個位置存取對話方塊:
屬性
群組識別碼
群組帳戶的簡短名稱。
主體名稱
群組帳戶的全文名稱。
您可以定義名稱、型別和值,以新增屬性。 按一下每個新屬性的「儲存」(綠色勾號符號)。
成員
您可以將使用者或其他群組新增為此群組的成員。
群組會籍
這會顯示目前群組帳戶所屬的所有群組。 「已繼承」欄表示由於另一個群組的成員資格而繼承的成員資格。
按一下GroupID可開啟該群組的對話方塊。
成員
列出屬於目前群組成員的所有帳戶(使用者和/或群組)。
此 已繼承 欄表示因為另一個群組的成員資格而繼承的成員資格。
當所有者、編輯者或檢視者角色指派給任何資產資料夾的使用者時,就會建立新群組。 群組名稱的格式為 mac-default-<foldername>
針對每個已定義角色的資料夾。
開啟 群組管理 對話方塊。
按一下 建立群組.
然後,您可以輸入「屬性」:
按一下「儲存」(綠色勾號符號)。
此對話方塊會展開,您可以:
這會將這個主體的節點從存放庫中移除。
不會移除存取許可權專案。 這可確保歷史完整性。
您可以為新帳戶或現有帳戶定義屬性:
現有屬性可使用垃圾桶符號刪除。
您可以將成員新增至目前群組:
開啟 群組管理 適當帳戶的對話方塊。
可以:
按一下新屬性的「儲存」(綠色勾號符號)。
或刪除具有垃圾桶符號的現有成員。
使用 存取控制 標籤中,您可以定義存取控制原則並指派相關許可權CRXDE Lite。
例如, 目前路徑 在左窗格中選取所需的資源,右下窗格中的「存取控制」標籤為:
原則會根據下列專案分類:
適用的存取控制原則
可套用這些原則。
這些是可建立本機原則的原則。 當您選取並新增適用原則時,它就會變成本機原則。
本機存取控制政策
這些是您已套用的存取控制原則。 然後,您可以更新、排序或移除這些專案。
本機原則會覆寫從父項繼承的任何原則。
生效的存取控制政策
這些存取控制原則現在適用於任何存取請求。 它們會顯示衍生自本機原則以及從父項繼承的任何彙總原則。
可以為以下專案選取原則:
目前路徑
如上述範例所示,在存放庫中選取資源。 此時會顯示此「目前路徑」的原則。
存放庫
選取存放庫層級存取控制。 例如,設定 jcr:namespaceManagement
許可權,只與存放庫相關,與節點無關。
主體
在存放庫中註冊的主體。
您可以輸入 主體 命名或按一下欄位右側的圖示,以開啟 選取主體 對話方塊。
這可讓您 搜尋 針對 使用者 或 群組. 從產生的清單中選取所需的主參與者,然後按一下 確定 將值帶回上一個對話方塊。
若要簡化管理Adobe,建議您將存取權指派給群組帳戶,而非個別使用者帳戶。
管理幾個群組比管理許多使用者帳戶更容易。
新增存取控制專案時,可以選取下列許可權(請參閱 安全性API 以取得完整詳細資訊):
許可權名稱 | 控制許可權的…… |
---|---|
jcr:read |
擷取節點並讀取其屬性及其值。 |
rep:write |
這是jcr:write和jcr:nodeTypeManagement的Jackrabbit特定彙總許可權。 |
jcr:all |
這是包含所有其他預先定義許可權的彙總許可權。 |
進階 | |
crx:replicate |
執行節點的復寫。 |
jcr:addChildNodes |
建立節點的子節點。 |
jcr:lifecycleManagement |
在節點上執行生命週期作業。 |
jcr:lockManagement |
鎖定並解除鎖定節點;請重新整理鎖定。 |
jcr:modifyAccessControl |
修改節點的存取控制原則。 |
jcr:modifyProperties |
建立、修改和移除節點的屬性。 |
jcr:namespaceManagement |
註冊、取消註冊和修改名稱空間定義。 |
jcr:nodeTypeDefinitionManagement |
將節點型別定義匯入存放庫。 |
jcr:nodeTypeManagement |
新增和移除mixin節點型別,並變更節點的主要節點型別。 這也包括對Node.addNode和XML匯入方法的任何呼叫,其中會明確指定新節點的mixin或主要型別。 |
jcr:readAccessControl |
讀取節點的存取控制原則。 |
jcr:removeChildNodes |
移除節點的子節點。 |
jcr:removeNode |
移除節點。 |
jcr:retentionManagement |
在節點上執行保留管理作業。 |
jcr:versionManagement |
在節點上執行版本設定作業。 |
jcr:workspaceManagement |
透過JCR API建立及刪除工作區。 |
jcr:write |
此彙總許可權包含: - jcr:modifyProperties - jcr:addChildNodes - jcr:removeNode - jcr:removeChildNodes |
rep:privilegeManagement |
註冊新的許可權。 |
您也可以註冊新許可權:
從工具列中選取 工具,然後 許可權 以顯示目前登入的許可權。
使用 登入許可權 圖示(+)以定義許可權:
按一下 確定 以儲存。 此許可權現在可供選取。
選取您的資源並開啟 存取控制 標籤。
若要新增 本機存取控制原則,按一下 + 圖示右側 適用的存取控制原則 清單:
新專案會顯示在下方 本機存取控制原則:
按一下 + 圖示來新增專案:
目前需要因應措施,才能指定空字串。
為此,您必須使用 ""
.
定義您的存取控制原則並按一下 確定 以儲存。 您的新原則為:
CRX會驗證您的選擇;對於指定的主體,指定節點上最多(一個)存在一個拒絕和一個允許專案。 實作一律會清除多餘的專案,並確保允許和拒絕專案中未列出相同的許可權。
清單中的順序表示套用原則的順序。
在表中 本機存取控制原則,選取所需的專案,並將其拖曳至表格中的新位置。
變更會顯示在兩個表格中 本機 和 有效的存取控制原則.
從CRXDE Lite工具列中,選取 工具,然後 測試存取控制…….
新的對話方塊會在右上角窗格中開啟。 選取 路徑 和/或 主體 要測試的物件。
按一下 測試 若要檢視選取範圍的結果: