Permisos impulsados por metadatos metadata-driven-permissions
Permisos impulsados por metadatos es una función que se utiliza para permitir que las decisiones de control de acceso en AEM Assets Author se basen en propiedades de metadatos de recursos 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 de metadatos personalizada que defina.
Veamos un ejemplo… Los creativos cargan su trabajo en AEM Assets en la carpeta relacionada con la campaña, podría ser 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 la 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é propiedades de metadatos de recurso generarán 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 configure-permissionable-properties
Para implementar Permisos impulsados por metadatos, un desarrollador debe implementar una configuración OSGi en AEM as a Cloud Service que permita propiedades de metadatos de recursos específicas para habilitar permisos impulsados por metadatos.
-
Determine qué propiedades de metadatos de recurso se utilizarán para el control de acceso. Los nombres de propiedad son los nombres de propiedad JCR en el recurso
jcr:content/metadata
del recurso. En nuestro caso, será una propiedad llamadastatus
. -
AEM Cree una configuración de OSGi
com.adobe.cq.dam.assetmetadatarestrictionprovider.impl.DefaultRestrictionProviderConfiguration.cfg.json
en su proyecto de Maven de. -
Pegue el siguiente JSON en el archivo creado:
code language-json { "restrictionPropertyNames":[ "status", "brand" ], "enabled":true }
-
Reemplace los nombres de propiedad por los valores necesarios.
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 según corresponda, 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 varias propiedades de metadatos.
- Las propiedades de metadatos se evalúan en función de las restricciones que utilizan igualdad de cadena (
=
) (no se admiten otros tipos de datos u operadores, para propiedades de fecha o superiores a (>
)) - 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