Question

Comment définir l'utilisateur et le groupe ACL directement dans le CRX plutôt que dans l'écran Administration utilisateur CQ5 («Sécurité CQ5») ?

Présentation

Dans CRX 2.0 / JCR 2.0 le modèle de sécurité a changé. Dans le nouveau modèle de sécurité, l'accès des utilisateurs est défini au moyen des stratégies de contrôle d'accès [1].

Dans CQ5, le modèle de sécurité de l'utilisateur et du groupe se sert des privilèges standard de référentiel pour JCR 2.0 [2] (tels que définis par la stratégie de contrôle d'accès org.apache.jackrabbit.core.security.authorization.acl.ACLTemplate).

Voici quelques conseils concernant le nouveau modèle de sécurité :

  1. L'option "Inherit" n'existe plus lorsque vous autorisez ou refusez l'accès via l'écran d'administration "CQ5 Security".
  2. Lorsque vous déterminer autoriser ou refuser l'autorisation sur un nœud donné, alors 3 scénarios sont possibles :
    1. si le même identifiant ACE (Access Control Entry) est hérité d’un nœud parent et qu'aucune ACE correspondante n'existe déjà sur le nœud, rien ne sera fait.
    2. si le même ACE est hérité d’un nœud parent et qu’un ACE correspondant est déjà défini sur ce chemin, il sera supprimé.
    3. si le même ACE n'est pas hérité d'un nœud parent, alors l'ACE sera créé pour ce nœud.
  3. Si un utilisateur est associé à 2 groupes et que les deux groupes ont un ACE défini sur le même nœud, l'ordre dans lequel l'accès sera appliqué à l'utilisateur est l'ordre dans lequel ils apparaissent dans "CRX Explorer" dans le Sécurité >> -> boite de dialogue Access Control Editor.... Dans cette boîte de dialogue, les ACE peuvent être réorganisés par glisser-déposer.

Voici un exemple pour illustrer : groupe1 et groupe2 ont des contrôles d'accès définis pour le tracé /content/geometrixx ; a : groupe1 a refusé la lecture et groupe2 a autorisé la lecture et user1 est associé à la fois à groupe1 et groupe2 (exclusivement). Avec cette configuration, l'accès sera évalué dans l'ordre indiqué dans la boîte de dialogue CRX Access Control Editor....

Réponse, résolution

Dans CQ5.3 et les versions précédentes, les règles autoriser/refuser (ACEs) affichés dans l'écran "CQ5 Security" (alias "Administration des utilisateurs") n'ont pas de relation directe avec les ACE réels définis dans le référentiel CRX 2.x. Le tableau ci-dessous indique comment les contrôles d’accès sont désignés depuis CQ5 jusqu’au référentiel CRX :

CRX1.4.2 CQ5.2.1+ CRX2.0
lire lire jcr:read
créer nœud créer jcr:addChildNodes, jcr:nodeTypeManagement
définir propriété modifier jcr:modifyProperties, jcr:versionManagement, jcr:lockManagement
supprimer le nœud supprimer jcr:removeNode, jcr:removeChildNodes
lire ACL lire ACL jcr:readAccessControl
modifier ACL modifier ACL jcr:modifyAccessControl

Pour modifier les listes de contrôle d’accès sur CRX2.0 :

  1. Connectez-vous à l’application web http://<host>:<port>/crx (http://<host>:<port>/crx/explorer sur CQ5.5+).
  2. Ouvrez Explorateur de contenu.
  3. Sélectionnez le nœud sur lequel vous souhaitez définir des listes de contrôle d’accès (si le nœud est versionnable, assurez-vous qu’il n’est pas coché, reportez-vous à la documentation CRX pour obtenir plus d’informations sur ce concept).
  4. Au-dessus de la fenêtre « Explorateur CRX », ouvrez Sécurité >> => puis cliquez sur Éditeur du contrôle d’accès... afin d’ouvrir la boîte de dialogue Sécurité.
  5. Dans la boîte de dialogue Sécurité, activez la case ACL dans le cadre « Stratégies applicables du contrôle d’accès », puis cliquez sur Définir les stratégies sélectionnées.
  6. Cliquez sur Ajouter ACE pour ajouter une nouvelle ACE (entrée de contrôle d’accès).
  7. Recherche d’un utilisateur ou d’un groupe
  8. Sélectionnez autoriser ou refuser
  9. Définissez les privilèges associés à l’entrée
  10. Enregistrez en cliquant sur Ok ou Appliquer dans l'angle inférieur droit de la boîte de dialogue (si les boutons "Ok" ou "Appliquer" ne sont pas visible, redimensionnez la boîte de dialogue pour l'agrandir)

S’applique à

CQ5.3, CQ5.4, CQ5.5

Références

[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 (voir section 16.2.3 Privilèges standards)

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne