Autorizzazioni basate su metadati metadata-driven-permissions
Le autorizzazioni basate sui metadati sono una funzione utilizzata per consentire alle decisioni di controllo degli accessi sull’istanza di AEM Assets Author di basarsi sul contenuto delle risorse o sulle proprietà dei metadati anziché sulla struttura delle cartelle. Con questa funzionalità, puoi definire i criteri di controllo dell’accesso che valutano attributi quali lo stato delle risorse, il tipo o qualsiasi proprietà personalizzata definita.
Vediamo un esempio. I creativi caricano il loro lavoro in AEM Assets nella cartella correlata alla campagna; potrebbe trattarsi di una risorsa in corso di lavorazione che non è stata approvata per l’uso. Vogliamo assicurarci che gli addetti al marketing visualizzino solo le risorse approvate per questa campagna. Possiamo utilizzare una proprietà di metadati per indicare che una risorsa è stata approvata e può essere utilizzata dagli esperti di marketing.
Come funziona
L’abilitazione delle autorizzazioni basate sui metadati implica la definizione del contenuto della risorsa o delle proprietà dei metadati che determineranno le restrizioni di accesso, ad esempio "stato" o "marchio". Queste proprietà possono quindi essere utilizzate per creare voci di controllo dell’accesso che specificano quali gruppi di utenti hanno accesso alle risorse con valori di proprietà specifici.
Prerequisiti
Per configurare le autorizzazioni basate sui metadati è necessario accedere a un ambiente AEM as a Cloud Service aggiornato alla versione più recente.
Configurazione OSGi configure-permissionable-properties
Per implementare le autorizzazioni basate sui metadati, uno sviluppatore deve implementare in AEM as a Cloud Service una configurazione OSGi che consenta a contenuti specifici di risorse o proprietà di metadati di abilitare le autorizzazioni basate sui metadati.
-
Determina il contenuto della risorsa o le proprietà dei metadati che verranno utilizzati per il controllo degli accessi. I nomi delle proprietà sono i nomi delle proprietà JCR nella risorsa
jcr:content
ojcr:content/metadata
della risorsa. Nel nostro caso sarà una proprietà denominatastatus
. -
Crea una configurazione OSGi
com.adobe.cq.dam.assetmetadatarestrictionprovider.impl.DefaultRestrictionProviderConfiguration.cfg.json
nel progetto AEM Maven. -
Incolla il seguente JSON nel file creato:
code language-json { "restrictionPropertyNames":[ "status", "brand" ], "restrictionContentPropertyNames":[], "enabled":true }
-
Sostituisci i nomi delle proprietà con i valori richiesti. La proprietà di configurazione
restrictionContentPropertyNames
viene utilizzata per abilitare le autorizzazioni per le proprietà della risorsajcr:content
, mentre la proprietà di configurazionerestrictionPropertyNames
abilita le autorizzazioni per le proprietà della risorsajcr:content/metadata
per le risorse.
Reimposta autorizzazioni risorsa base
Prima di aggiungere voci di controllo dell’accesso basate su restrizioni, è necessario aggiungere una nuova voce di livello superiore per negare prima l’accesso in lettura a tutti i gruppi soggetti alla valutazione delle autorizzazioni per Assets (ad esempio, "collaboratori" o simili):
- Passa alla schermata Strumenti → Autorizzazioni → di sicurezza
- Seleziona il gruppo Collaboratori (o un altro gruppo personalizzato a cui appartengono tutti i gruppi di utenti)
- Fai clic su Aggiungi ACE nell'angolo superiore destro della schermata
- Seleziona
/content/dam
per Percorso - Immetti
jcr:read
per Privilegi - Seleziona
Deny
per Tipo di autorizzazione - In Restrizioni, selezionare
rep:ntNames
e immetteredam:Asset
come Valore restrizione - Fai clic su Salva
Concedere l’accesso alle risorse tramite metadati
È ora possibile aggiungere voci di controllo di accesso per concedere l'accesso in lettura ai gruppi di utenti in base ai valori configurati per la proprietà dei metadati delle risorse.
- Passa alla schermata Strumenti → Autorizzazioni → di sicurezza
- Seleziona i gruppi di utenti che devono avere accesso alle risorse
- Fai clic su Aggiungi ACE nell'angolo superiore destro della schermata
- Seleziona
/content/dam
(o una sottocartella) per Percorso - Immetti
jcr:read
per Privilegi - Seleziona
Allow
per Tipo di autorizzazione - In Restrizioni, seleziona uno dei nomi di proprietà dei metadati delle risorse configurati nella configurazione OSGi
- Immetti il valore della proprietà metadati richiesta nel campo Valore restrizione
- Fai clic sull'icona + per aggiungere la restrizione alla voce di controllo di accesso
- Fai clic su Salva
Autorizzazioni basate sui metadati attive
La cartella di esempio contiene un paio di risorse.
Dopo aver configurato le autorizzazioni e impostato di conseguenza le proprietà dei metadati della risorsa, gli utenti (l’utente addetto al marketing nel nostro caso) visualizzeranno solo la risorsa approvata.
Vantaggi e considerazioni
I vantaggi delle autorizzazioni basate sui metadati includono:
- Controllo dettagliato sull’accesso alle risorse in base ad attributi specifici.
- Separazione dei criteri di controllo dell’accesso dalla struttura di cartelle, consentendo un’organizzazione più flessibile delle risorse.
- Possibilità di definire regole di controllo di accesso complesse basate su più contenuti o proprietà di metadati.
- Le proprietà vengono valutate in base alle restrizioni utilizzando Uguaglianza stringa (
=
) (altri tipi di dati o operatori non sono ancora supportati, per valori maggiori di (>
) o proprietà Data) - Per consentire più valori per una proprietà di restrizione, è possibile aggiungere ulteriori restrizioni alla voce di controllo dell'accesso selezionando la stessa proprietà dal menu a discesa "Seleziona tipo" e immettendo un nuovo valore di restrizione (ad esempio
status=approved
,status=wip
) e facendo clic su "+" per aggiungere la restrizione alla voce
- Sono supportate restrizioni AND, tramite più restrizioni in una singola voce di controllo di accesso con nomi di proprietà diversi (ad esempio
status=approved
,brand=Adobe
) verrà valutata come condizione AND, ovvero al gruppo di utenti selezionato verrà concesso l'accesso in lettura alle risorse constatus=approved AND brand=Adobe
- Le restrizioni OR sono supportate aggiungendo una nuova voce di controllo di accesso con una restrizione di proprietà dei metadati che stabilirà una condizione OR per le voci. Ad esempio, una singola voce con restrizione
status=approved
e una singola voce conbrand=Adobe
verranno valutate comestatus=approved OR brand=Adobe