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.
-
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éestatus
. -
Créez une configuration OSGi
com.adobe.cq.dam.assetmetadatarestrictionprovider.impl.DefaultRestrictionProviderConfiguration.cfg.json
dans votre projet AEM Maven. -
Collez le JSON suivant dans le fichier créé :
code language-json { "restrictionPropertyNames":[ "status", "brand" ], "enabled":true }
-
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) :
- Accédez à l’écran Outils → Sécurité → Autorisations.
- Sélectionnez le groupe Contributeurs et contributrices (ou tout autre groupe personnalisé auquel tous les groupes d’utilisateurs et d’utilisatrices appartiennent).
- Cliquez sur Ajouter une entrée de contrôle d’accès dans le coin supérieur droit de l’écran.
- Sélectionnez
/content/dam
pour le chemin. - Saisissez
jcr:read
pour les privilèges. - Sélectionnez
Deny
pour le type d’autorisation. - Sous Restrictions, sélectionnez
rep:ntNames
et saisissezdam:Asset
comme Valeur de restriction. - Cliquez sur Enregistrer.
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.
- Accédez à l’écran Outils → Sécurité → Autorisations.
- Sélectionner les groupes d’utilisateurs et d’utilisatrices qui doivent avoir accès aux ressources.
- Cliquez sur Ajouter une entrée de contrôle d’accès dans le coin supérieur droit de l’écran.
- Sélectionnez
/content/dam
(ou un sous-dossier) pour le chemin. - Saisissez
jcr:read
pour les privilèges. - Sélectionnez
Allow
pour le type d’autorisation. - Sous Restrictions, sélectionnez l’un des noms de propriétés de métadonnées de ressource configurées dans la configuration OSGi.
- Saisissez la valeur de propriété de métadonnées requise dans le champ Valeur de restriction.
- Cliquez sur l’icône + pour ajouter la restriction à l’entrée de contrôle d’accès.
- Cliquez sur Enregistrer.
Autorisations pilotées par les métadonnées en vigueur
Le dossier d’exemple contient quelques ressources.
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.
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.
- 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.
- 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 avecstatus=approved AND brand=Adobe
.
- 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 avecbrand=Adobe
seront évaluées commestatus=approved OR brand=Adobe
.