Come impostare CQ5 ACLs in CRX2.x

Domanda

Come si impostano gli ACL di utenti e gruppi direttamente in CRX piuttosto che nella schermata Amministrazione utenti CQ5 ("CQ5 Security")?

Panoramica

In CRX 2.0 / JCR 2.0 il modello di sicurezza è cambiato. Nel nuovo modello di sicurezza, l'accesso dell'utente è definito tramite le politiche di controllo accessi [1].

In CQ5, il modello di sicurezza per utenti e gruppi utilizza i privilegi di repository standard per JCR 2.0 [2] (come definito dalla politica di controllo accessi org.apache.jackrabbit.core.security.authorization.acl.ACLTemplate ).

Ecco alcune cose che dovreste sapere sul nuovo modello di sicurezza:

  1. L'opzione "inherit" non esiste più quando si consente o si nega l'accesso tramite la schermata di amministrazione "CQ5 Security".
  2. Quando si imposta allow or deny permission su un dato nodo sono possibili 3 scenari:
    1. se lo stesso ACE (Access Control Entry) viene ereditato da un nodo madre e non esiste già un ACE corrispondente sul nodo, allora non verrà fatto nulla.
    2. se lo stesso ACE viene ereditato da un nodo madre e un ACE corrispondente è già definito su quel percorso, sarà rimosso.
    3. se lo stesso ACE non viene ereditato da un nodo madre, l'ACE verrà creato per quel nodo.
  3. Se ad un utente viene assegnata l'appartenenza a 2 gruppi ed entrambi i gruppi hanno un ACE definito sullo stesso nodo, l'ordine in cui l'accesso verrà applicato all'utente è l'ordine in cui appaiono in "CRX Explorer" nella finestra Security >> -> Access Control Editor.... In questa finestra di dialogo gli ACE possono essere riordinati tramite drag and drop.

Per dimostrazione, ecco un esempio: il gruppo1 e il gruppo2 hanno i controlli di accesso impostati per il percorso /content/geometrixx; il gruppo1 ha negato la lettura e il gruppo2 ha permesso la lettura e l'utente1 ha l'appartenenza sia al gruppo1 che al gruppo2 (esclusivamente). Con questa configurazione l'accesso sarà valutato nell'ordine mostrato nella finestra CRX Access Control Editor....

Risposta, Soluzione

In CQ5.3 e versioni successive, le regole allow/deny (ACEs) mostrate nella schermata "CQ5 Security" (anche detto "User Administration") non hanno una relazione one to one con gli ACE impostati nel repository CRX 2.x. La tabella seguente mostra come l'accesso controlla la mappa dal CQ5 al repository CRX:

CRX 1.4.2 CQ 5.2.1+ CRX 2.0
lettura lettura jcr:read
crea nodo creare jcr:addChildNodes, jcr:nodeTypeManagement
configura proprietà modificare jcr:modifyProperties, jcr:versionManagement, jcr:lockManagement
rimuovi il nodo elimina jcr:removeNode, jcr:removeChildNodes
leggi acl leggi ACL jcr:readAccessControl
modifica acl modifica ACL jcr:modifyAccessControl

Per modificare gli ACE in CRX2.0:

  1. Accedi all'applicazione Web http://<host>:<port>/crx web application (http://<host>:<port>/crx/explorer in CQ5.5+)
  2. Apri Content Explorer
  3. Seleziona il nodo su cui si desidera impostare le ACL (assicurati che se il nodo è versionabile non è stato verificato, vedi la documentazione di CRX per maggiori informazioni su questo concetto)
  4. Nella parte superiore della finestra "CRX Explorer" apri Security >> => Access Control Editor... per aprire la finestra di dialogo di sicurezza
  5. Nella finestra di dialogo della sicurezza, attiva la casella di controllo per la ACL in "Criteri applicabili per il controllo degli accessi", quindi fai clic su Imposta criteri selezionati
  6. fai clic su Aggiungi ACE per aggiungere un nuovo ACE (Access Control Entry)
  7. cerca un utente o un gruppo
  8. seleziona consenti o nega
  9. imposta i privilegi associati alla voce
  10. salva facendo clic su Ok o Applica in basso a destra della finestra di dialogo (se i pulsanti "Ok" o "Applica" non sono visibili, ridimensiona la finestra di dialogo per ingrandirla)

Si applica a

CQ5.3, CQ5.4, CQ5.5

Referenze

[1] http://www.day.com/specs/jcr/2.0/16_Access_Control_Management.html#AccessControlPolicies
[2] http://www.day.com/specs/jcr/2.0/16_Access_Control_Management.html (vedi sezione 16.2.3 Privilegi standard)

Logo Adobe

Accedi al tuo account