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 sulle proprietà dei metadati delle risorse anziché sulla struttura delle cartelle. Con questa funzionalità, puoi definire i criteri di controllo dell’accesso che valutano gli attributi come lo stato delle risorse, il tipo o qualsiasi proprietà di metadati personalizzata definita dall’utente.
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 la proprietà dei 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 delle proprietà dei metadati delle risorse 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 distribuire una configurazione OSGi in AEM as a Cloud Service che consenta a specifiche proprietà di metadati delle risorse di abilitare le autorizzazioni basate sui metadati.
-
Determina le proprietà dei metadati della risorsa da utilizzare per il controllo degli accessi. I nomi delle proprietà sono i nomi delle proprietà JCR nella risorsa
jcr: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" ], "enabled":true }
-
Sostituisci i nomi delle proprietà con i valori richiesti.
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.
Una volta configurate le autorizzazioni e impostate di conseguenza le proprietà dei metadati della risorsa, gli utenti (nel nostro caso, gli utenti addetti al marketing) vedranno 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ù proprietà di metadati.
- Le proprietà dei metadati 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