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

Les autorisations pilotées par 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 d’être basées sur les propriétés de métadonnées des ressources plutôt que sur la structure de 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 et le type de ressource, ou toute propriété de métadonnées 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 la propriété de métadonnées pour indiquer qu’une ressource a été approuvée et peut être utilisée par les personnes spécialisées dans le marketing.

Fonctionnement

L’activation des autorisations pilotées par les métadonnées implique de définir quelles propriétés de métadonnées de ressource vont générer des restrictions d’accès, telles que « statut » ou « 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 ou une développeuse doit déployer une configuration OSGi sur AEM as a Cloud Service, qui active des propriétés de métadonnées de ressources spécifiques pour alimenter les autorisations pilotées par les métadonnées.

  1. Déterminez quelles propriétés de métadonnées de ressource seront utilisées pour le contrôle d’accès. Les noms des propriétés sont les noms des propriétés JCR sur la ressource jcr:content/metadata de la ressource. 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"
      ],
      "enabled":true
    }
    
  4. Remplacez les noms des propriétés par les valeurs requises.

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 ressource en conséquence, les utilisateurs et utilisatrices (dans notre cas, les personnes spécialisées dans le marketing) ne verront que 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 métadonnées.
NOTE
Il est important de noter :
  • Les propriétés de métadonnées sont évaluées par rapport aux restrictions à l’aide de l’égalité de chaîne (=) (d’autres types de données ou opérateurs ne sont pas encore pris en charge, pour les propriétés supérieures à (>) ou de 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