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 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 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 contenido de recursos específico o propiedades de metadatos para habilitar permisos impulsados por metadatos.

  1. 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 o jcr:content/metadata del recurso. En nuestro caso, será una propiedad llamada status.

  2. Cree una configuración OSGi com.adobe.cq.dam.assetmetadatarestrictionprovider.impl.DefaultRestrictionProviderConfiguration.cfg.json en su proyecto de AEM Maven.

  3. Pegue el siguiente JSON en el archivo creado:

    code language-json
    {
      "restrictionPropertyNames":[
        "status",
        "brand"
      ],
      "restrictionContentPropertyNames":[],
      "enabled":true
    }
    
  4. Reemplace los nombres de propiedad por los valores necesarios. La propiedad de configuración restrictionContentPropertyNames se usa para habilitar permisos en las propiedades de recursos jcr:content, mientras que la propiedad de configuración restrictionPropertyNames habilita permisos en las propiedades de recursos jcr: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):

  1. Vaya a la pantalla Herramientas → Seguridad → Permisos
  2. Seleccione el grupo Colaboradores (u otro grupo personalizado al que pertenezcan todos los grupos de usuarios)
  3. Haga clic en Agregar ACE en la esquina superior derecha de la pantalla
  4. Seleccionar /content/dam para ruta
  5. Escriba jcr:read para privilegios
  6. Seleccionar Deny para tipo de permiso
  7. En Restricciones, seleccione rep:ntNames e introduzca dam:Asset como Valor de restricción
  8. Haga clic en Guardar

Denegar acceso

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.

  1. Vaya a la pantalla Herramientas → Seguridad → Permisos
  2. Seleccione los grupos de usuarios que deben tener acceso a los recursos
  3. Haga clic en Agregar ACE en la esquina superior derecha de la pantalla
  4. Seleccionar /content/dam (o una subcarpeta) para ruta
  5. Escriba jcr:read para privilegios
  6. Seleccionar Allow para tipo de permiso
  7. En Restricciones, seleccione uno de los nombres de propiedad de metadatos de recursos configurados en la configuración OSGi
  8. Escriba el valor de propiedad de metadatos requerido en el campo Valor de restricción
  9. Haga clic en el icono + para agregar la restricción a la entrada de control de acceso
  10. Haga clic en Guardar

Permitir el acceso

Permisos impulsados por metadatos en vigor

La carpeta de ejemplo contiene un par de recursos.

Vista de administrador

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.

Vista de experto en marketing

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.
NOTE
Es importante tener en cuenta lo siguiente:
  • 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
    Permitir varios valores
  • 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 con status=approved AND brand=Adobe
    Permitir varias restricciones
  • 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 con brand=Adobe se evaluará como status=approved OR brand=Adobe
    Permitir varias restricciones
recommendation-more-help
a483189e-e5e6-49b5-a6dd-9c16d9dc0519