Pregunta
¿Configurar las ACLs de usuario y de grupo directamente en CRX en lugar de en la pantalla de Administración de usuarios de CQ5 (“Seguridad CQ5”)?
Descripción general
En CRX 2.0 / JCR 2.0 el modelo de seguridad cambió. En el nuevo modelo de seguridad, el acceso de los usuarios se define mediante políticas de control de acceso [1].
En CQ5, el modelo de seguridad de usuario y de grupo hace uso de los privilegios de repositorio estándar para JCR 2.0 [2] (tal y como se define en la política de control de acceso org.apache.jackrabbit.core.security.authorization.acl.ACLTemplate
).
Aquí hay algunas cosas que debe saber sobre el nuevo modelo de seguridad:
- La opción “heredar” ya no existe cuando se permite o se deniega el acceso a través de la pantalla de administración “Seguridad CQ5”.
- Cuando se establece
permitir
odenegar
el permiso en un nodo dado, entonces son posibles 3 escenarios:- si el mismo ACE (Access Control Entry) está siendo heredado de un nodo primario y no existe ya ningún ACE coincidente en el nodo, no se hará nada.
- si el mismo ACE está siendo heredado de un nodo padre y un ACE coincidente ya está definido en esa ruta, entonces será eliminado.
- si no se está heredando el mismo ACE de un nodo padre, se creará el ACE para ese nodo.
- Si a un usuario se le asigna la pertenencia a 2 grupos y ambos grupos tienen un ACE definido en el mismo nodo, entonces el orden en que se aplicará el acceso al usuario es el orden en que aparecen en “CRX Explorer” en el cuadro de dialogo Seguridad >> -> Editor de control de acceso..... En este cuadro de diálogo se pueden reordenar los ACEs mediante arrastrar y soltar.
Para demostrarlo, aquí hay un ejemplo: el grupo1 y el grupo2 tienen controles de acceso establecidos para la ruta /content/geometrixx
; el group1 ha denegado la lectura y el group2 ha permitido la lectura y el user1 es miembro tanto del group1 como del group2 (exclusivamente). Con esta configuración, el acceso se evaluará en el orden que se muestra en el cuadro de diálogo CRX Access Control Editor.....
Respuesta y resolución
En CQ5.3 y versiones posteriores, las reglas de permitir/denegar (ACE) mostradas en la pantalla “CQ5 Security” (alias “Administración de Usuario”) no tienen una relación uno a uno con los ACE reales que se establecen en el repositorio CRX 2.x. La siguiente tabla muestra cómo el control de acceso asigna desde CQ5 hasta el repositorio CRX:
CRX1.4.2 | CQ5.2.1+ | CRX2.0 |
leer | leer | jcr:read |
crear nodo | crear | jcr:addChildNodes, jcr:nodeTypeManagement |
establecer propiedad | modificar | jcr:modifyProperties, jcr:versionManagement, jcr:lockManagement |
eliminar nodo | eliminar | jcr:removeNode, jcr:removeChildNodes |
leer acl | leer ACL | jcr:readAccessControl |
editar acl | modificar ACL | jcr:modifyAccessControl |
Para editar ACE en CRX2.0:
- Acceda a la aplicación web
http://<host>:<port>/crx
aplicación web (http://<host>:<port>/crx/explorer in CQ5.5+)
- Abrir el Explorador de contenido
- Seleccione el nodo en el que desea configurar las ACL (asegúrese de que si el nodo es versionable y no está registrado, consulte la documentación CRX para obtener más información sobre este concepto)
- En la parte superior de la ventana “CRX Explorer”, abra Seguridad >> => Access Control Editor... para abrir el diálogo de seguridad
- En el cuadro de diálogo de seguridad, active la casilla de verificación para ACL en “Políticas de control de acceso aplicables” y, a continuación, haga clic en Establecer políticas seleccionadas
- haga clic en Añadir ACE para añadir un nuevo ACE (Access Control Entry)
- buscar un usuario o grupo
- seleccione permitir o denegar
- establecer los privilegios asociados a la entrada
- guardar haciendo clic en Aceptar o Aplicar en la parte inferior derecha del cuadro de diálogo (si los botones “Aceptar” o “Aplicar” no están visibles, cambie el tamaño del cuadro de diálogo para que sea más grande)
Se aplica a
CQ5.3, CQ5.4, CQ5.5
Referencias
[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 (ver sección 16.2.3 Standard Privileges)
Inicia sesión en tu cuenta