Permisos impulsados por metadatos
Creado para:
- Intermedio
- Administrador
Permisos impulsados por metadatos es una función que se utiliza para permitir que las decisiones de control de acceso de los AEM Assets Autor se basen en el contenido del recurso o en las propiedades de los metadatos, en lugar de en la estructura de carpetas. Con esta capacidad, puede definir políticas de control de acceso que evalúen atributos como el estado del recurso, el tipo o cualquier propiedad personalizada que defina.
Veamos un ejemplo… Los creativos cargan su trabajo en los AEM Assets de la carpeta relacionada con la campaña; puede que sea un recurso de trabajo en curso que no se haya aprobado para su uso. Queremos asegurarnos de que los especialistas en marketing solo vean los activos aprobados para esta campaña. Podemos utilizar una propiedad de metadatos para indicar que un recurso se ha aprobado y que los especialistas en marketing pueden utilizarlo.
Cómo funciona
La activación de permisos impulsados por metadatos implica la definición de qué contenido de recurso o propiedades de metadatos impulsarán las restricciones de acceso, como "estado" o "marca". Estas propiedades se pueden utilizar para crear entradas de control de acceso que especifiquen qué grupos de usuarios tienen acceso a recursos con valores de propiedad específicos.
Requisitos previos
Se requiere acceso a un entorno de AEM as a Cloud Service actualizado a la versión más reciente para configurar permisos impulsados por metadatos.
Configuración de OSGi
Para implementar Permisos impulsados por metadatos, un desarrollador debe implementar una configuración OSGi en AEM as a Cloud Service que permita contenido de recursos específico o propiedades de metadatos para habilitar permisos impulsados por metadatos.
-
Determine qué propiedades de metadatos o contenido de recursos se utilizarán para el control de acceso. Los nombres de propiedad son los nombres de propiedad JCR en el recurso
jcr:content
ojcr:content/metadata
del recurso. En nuestro caso, será una propiedad llamadastatus
. -
Cree una configuración OSGi
com.adobe.cq.dam.assetmetadatarestrictionprovider.impl.DefaultRestrictionProviderConfiguration.cfg.json
en su proyecto de AEM Maven. -
Pegue el siguiente JSON en el archivo creado:
{ "restrictionPropertyNames":[ "status", "brand" ], "restrictionContentPropertyNames":[], "enabled":true }
-
Reemplace los nombres de propiedad por los valores necesarios. La propiedad de configuración
restrictionContentPropertyNames
se usa para habilitar permisos en las propiedades de recursosjcr:content
, mientras que la propiedad de configuraciónrestrictionPropertyNames
habilita permisos en las propiedades de recursosjcr:content/metadata
para los recursos.
Restablecer permisos de recursos base
Antes de agregar entradas de control de acceso basadas en restricciones, se debe agregar una nueva entrada de nivel superior para denegar primero el acceso de lectura a todos los grupos sujetos a la evaluación de permisos para Assets (por ejemplo, "colaboradores" o similares):
- Vaya a la pantalla Herramientas → Seguridad → Permisos
- Seleccione el grupo Colaboradores (u otro grupo personalizado al que pertenezcan todos los grupos de usuarios)
- Haga clic en Agregar ACE en la esquina superior derecha de la pantalla
- Seleccionar
/content/dam
para ruta - Escriba
jcr:read
para privilegios - Seleccionar
Deny
para tipo de permiso - En Restricciones, seleccione
rep:ntNames
e introduzcadam:Asset
como Valor de restricción - Haga clic en Guardar
Conceder acceso a los recursos mediante metadatos
Ahora se pueden agregar entradas de control de acceso para conceder acceso de lectura a los grupos de usuarios en función de los valores de propiedad de metadatos de recursos configurados.
- Vaya a la pantalla Herramientas → Seguridad → Permisos
- Seleccione los grupos de usuarios que deben tener acceso a los recursos
- Haga clic en Agregar ACE en la esquina superior derecha de la pantalla
- Seleccionar
/content/dam
(o una subcarpeta) para ruta - Escriba
jcr:read
para privilegios - Seleccionar
Allow
para tipo de permiso - En Restricciones, seleccione uno de los nombres de propiedad de metadatos de recursos configurados en la configuración OSGi
- Escriba el valor de propiedad de metadatos requerido en el campo Valor de restricción
- Haga clic en el icono + para agregar la restricción a la entrada de control de acceso
- Haga clic en Guardar
Permisos impulsados por metadatos en vigor
La carpeta de ejemplo contiene un par de recursos.
Una vez configurados los permisos y establecidas las propiedades de los metadatos del recurso en consecuencia, los usuarios (usuario de marketing en nuestro caso) solo verán el recurso aprobado.
Ventajas y consideraciones
Los beneficios de los permisos impulsados por metadatos incluyen:
- Control preciso del acceso a los recursos en función de atributos específicos.
- Desvinculación de las políticas de control de acceso de la estructura de carpetas, lo que permite una organización de recursos más flexible.
- Capacidad para definir reglas de control de acceso complejas basadas en múltiples propiedades de contenido o metadatos.
- Las propiedades se evalúan teniendo en cuenta las restricciones con igualdad de cadena (
=
) (otros tipos de datos u operadores aún no son compatibles, para propiedades de mayor que (>
) o fecha) - Para permitir varios valores para una propiedad de restricción, se pueden agregar restricciones adicionales a la Entrada de control de acceso seleccionando la misma propiedad en la lista desplegable "Seleccionar tipo" e introduciendo un nuevo valor de restricción (por ejemplo,
status=approved
,status=wip
) y haciendo clic en "+" para agregar la restricción a la entrada
- Se admiten restricciones AND mediante varias restricciones en una sola entrada de control de acceso con nombres de propiedad diferentes (por ejemplo,
status=approved
,brand=Adobe
) que se evaluará como una condición AND; es decir, se concederá acceso de lectura al grupo de usuarios seleccionado a los recursos constatus=approved AND brand=Adobe
- Se admiten restricciones OR al agregar una nueva entrada de control de acceso con una restricción de propiedad de metadatos que establecerá una condición OR para las entradas; por ejemplo, una sola entrada con restricción
status=approved
y una sola entrada conbrand=Adobe
se evaluará comostatus=approved OR brand=Adobe