Autorisations pilotées par les métadonnées metadata-driven-permissions

Les autorisations basées sur les métadonnées sont une fonctionnalité utilisée pour permettre aux décisions de contrôle d’accès sur l’instance de création AEM Assets de se baser sur le contenu des ressources ou les propriétés des métadonnées plutôt que sur la structure des dossiers. Grâce à cette fonctionnalité, vous pouvez définir des politiques de contrôle d’accès qui évaluent des attributs tels que le statut, le type ou toute propriété personnalisée que vous définissez.

Prenons un exemple. Les personnes membres de l’équipe créative chargent leur travail dans AEM Assets vers le dossier associé à la campagne. Il peut s’agir d’une ressource en cours qui n’a pas été approuvée pour utilisation. Nous voulons nous assurer que les personnes spécialisées dans le marketing ne voient que les ressources approuvées pour cette campagne. Nous pouvons utiliser une propriété de métadonnées pour indiquer qu’une ressource a été approuvée et peut être utilisée par les marketeurs.

Fonctionnement

L’activation des autorisations pilotées par les métadonnées implique de définir le contenu de la ressource ou les propriétés de métadonnées qui génèrent des restrictions d’accès, telles que le « statut » ou la « marque ». Ces propriétés peuvent ensuite être utilisées pour créer des entrées de contrôle d’accès qui spécifient quels groupes d’utilisateurs et d’utilisatrices ont accès aux ressources avec des valeurs de propriété spécifiques.

Conditions préalables

L’accès à un environnement AEM as a Cloud Service mis à jour vers la dernière version est requis pour configurer des autorisations pilotées par les métadonnées.

Configuration OSGi configure-permissionable-properties

Pour implémenter des autorisations pilotées par les métadonnées, un développeur doit déployer une configuration OSGi sur AEM as a Cloud Service, qui active un contenu de ressource ou des propriétés de métadonnées spécifiques pour alimenter les autorisations pilotées par les métadonnées.

  1. Déterminez le contenu de ressource ou les propriétés de métadonnées à utiliser pour le contrôle d’accès. Les noms des propriétés sont les noms des propriétés JCR de la ressource jcr:content ou jcr:content/metadata. Dans notre cas, il s’agira d’une propriété appelée status.

  2. Créez une configuration OSGi com.adobe.cq.dam.assetmetadatarestrictionprovider.impl.DefaultRestrictionProviderConfiguration.cfg.json dans votre projet AEM Maven.

  3. Collez le JSON suivant dans le fichier créé :

    code language-json
    {
      "restrictionPropertyNames":[
        "status",
        "brand"
      ],
      "restrictionContentPropertyNames":[],
      "enabled":true
    }
    
  4. Remplacez les noms des propriétés par les valeurs requises. La propriété de configuration restrictionContentPropertyNames permet d’activer des autorisations sur les propriétés de ressource jcr:content, tandis que la propriété de configuration restrictionPropertyNames permet d’activer des autorisations sur les propriétés de ressource jcr:content/metadata.

Réinitialiser les autorisations des ressources de base

Avant d’ajouter des entrées de contrôle d’accès basées sur des restrictions, une nouvelle entrée de niveau supérieur doit être ajoutée pour refuser l’accès en lecture à tous les groupes soumis à une évaluation des autorisations pour les ressources (par exemple, « contributeurs et contributrices » ou similaire) :

  1. Accédez à l’écran Outils → Sécurité → Autorisations.
  2. Sélectionnez le groupe Contributeurs et contributrices (ou tout autre groupe personnalisé auquel tous les groupes d’utilisateurs et d’utilisatrices appartiennent).
  3. Cliquez sur Ajouter une entrée de contrôle d’accès dans le coin supérieur droit de l’écran.
  4. Sélectionnez /content/dam pour le chemin.
  5. Saisissez jcr:read pour les privilèges.
  6. Sélectionnez Deny pour le type d’autorisation.
  7. Sous Restrictions, sélectionnez rep:ntNames et saisissez dam:Asset comme Valeur de restriction.
  8. Cliquez sur Enregistrer.

Refuser l’accès

Accorder l’accès aux ressources par métadonnées

Il est désormais possible d’ajouter des entrées de contrôle d’accès afin d’accorder un accès en lecture aux groupes d’utilisateurs et d’utilisatrices en fonction des valeurs des propriétés de métadonnées de ressource configurées.

  1. Accédez à l’écran Outils → Sécurité → Autorisations.
  2. Sélectionner les groupes d’utilisateurs et d’utilisatrices qui doivent avoir accès aux ressources.
  3. Cliquez sur Ajouter une entrée de contrôle d’accès dans le coin supérieur droit de l’écran.
  4. Sélectionnez /content/dam (ou un sous-dossier) pour le chemin.
  5. Saisissez jcr:read pour les privilèges.
  6. Sélectionnez Allow pour le type d’autorisation.
  7. Sous Restrictions, sélectionnez l’un des noms de propriétés de métadonnées de ressource configurées dans la configuration OSGi.
  8. Saisissez la valeur de propriété de métadonnées requise dans le champ Valeur de restriction.
  9. Cliquez sur l’icône + pour ajouter la restriction à l’entrée de contrôle d’accès.
  10. Cliquez sur Enregistrer.

Autorisation d’accès

Autorisations pilotées par les métadonnées en vigueur

Le dossier d’exemple contient quelques ressources.

Vue d’administration

Une fois que vous avez configuré les autorisations et défini les propriétés de métadonnées de la ressource en conséquence, les utilisateurs (dans notre cas, l’utilisateur ou utilisatrice marketing) verront uniquement la ressource approuvée.

Vue des personnes spécialisées dans le marketing

Avantages et considérations

Les avantages des autorisations pilotées par les métadonnées sont les suivants :

  • Contrôle précis de l’accès aux ressources en fonction d’attributs spécifiques.
  • Découplage des politique de contrôle d’accès de la structure de dossiers, ce qui permet une organisation des ressources plus flexible.
  • Possibilité de définir des règles de contrôle d’accès complexes basées sur plusieurs propriétés de contenu ou de métadonnées.
NOTE
Il est important de noter :
  • Les propriétés sont évaluées par rapport aux restrictions à l’aide de égalité des chaînes (=) (les autres types de données ou opérateurs ne sont pas encore pris en charge, pour les propriétés supérieures à (>) ou Date)
  • Pour autoriser plusieurs valeurs pour une propriété de restriction, vous pouvez ajouter des restrictions supplémentaires à l’entrée de contrôle d’accès en sélectionnant la même propriété dans la liste déroulante « Sélectionner un type » et en saisissant une nouvelle valeur de restriction (par exemple, status=approved, status=wip) et cliquez sur « + » pour ajouter la restriction à l’entrée.
    Autoriser plusieurs valeurs
  • Les restrictions AND sont prises en charge via plusieurs restrictions dans une seule entrée de contrôle d’accès avec différents noms de propriété (par exemple, status=approved, brand=Adobe) qui seront évaluées en tant que condition AND, c’est-à-dire que le groupe d’utilisateurs et d’utilisatrices sélectionné se verra accorder un accès en lecture aux ressources avec status=approved AND brand=Adobe.
    Autoriser plusieurs restrictions
  • Les restrictions OR sont prises en charges en ajoutant une nouvelle entrée de contrôle d’accès avec une restriction de propriété de métadonnées qui établit une condition OR pour les entrées, par exemple une seule entrée avec la restriction status=approved et une seule entrée avec brand=Adobe seront évaluées comme status=approved OR brand=Adobe.
    Autoriser plusieurs restrictions
recommendation-more-help
a483189e-e5e6-49b5-a6dd-9c16d9dc0519