Metadatadrivna behörigheter metadata-driven-permissions
Metadatadrivna behörigheter är en funktion som används för att tillåta åtkomstkontrollsbeslut på AEM Assets Author att baseras på metadataegenskaper för resurser i stället för på mappstrukturen. Med den här funktionen kan du definiera åtkomstkontrollprinciper som utvärderar attribut som resursstatus, typ eller anpassade metadataegenskaper som du definierar.
Låt oss se ett exempel. Kreatörerna överför sitt arbete till AEM Assets till den kampanjrelaterade mappen. Det kan vara en pågående resurs som inte har godkänts för användning. Vi vill försäkra oss om att marknadsförarna bara ser godkända mediefiler för den här kampanjen. Vi kan använda metadataegenskaper för att ange att en mediefil har godkänts och kan användas av marknadsförarna.
Så här fungerar det
Om du aktiverar metadatadrivna behörigheter måste du definiera vilka egenskaper för metadata för resurser som ska leda till åtkomstbegränsningar, till exempel"status" eller"varumärke". Dessa egenskaper kan sedan användas för att skapa åtkomstkontrollposter som anger vilka användargrupper som har åtkomst till resurser med specifika egenskapsvärden.
Förutsättningar
Åtkomst till en AEM as a Cloud Service-miljö som uppdaterats till den senaste versionen krävs för att skapa metadatadrivna behörigheter.
OSGi-konfiguration configure-permissionable-properties
För att implementera metadatadrivna behörigheter måste utvecklaren distribuera en OSGi-konfiguration till AEM as a Cloud Service, som möjliggör specifika metadata-egenskaper för resurser för att hantera metadatadrivna behörigheter.
-
Avgör vilka metadataegenskaper för resurser som ska användas för åtkomstkontroll. Egenskapsnamnen är JCR-egenskapsnamnen på resursens
jcr:content/metadata
-resurs. I vårt fall blir det en egenskap med namnetstatus
. -
Skapa en OSGi-konfiguration
com.adobe.cq.dam.assetmetadatarestrictionprovider.impl.DefaultRestrictionProviderConfiguration.cfg.json
i ditt AEM Maven-projekt. -
Klistra in följande JSON i den skapade filen:
code language-json { "restrictionPropertyNames":[ "status", "brand" ], "enabled":true }
-
Ersätt egenskapsnamnen med obligatoriska värden.
Återställ behörigheter för basresurs
Innan du lägger till restriktionsbaserade åtkomstkontrollposter bör en ny post på den översta nivån läggas till för att först neka läsåtkomst till alla grupper som är föremål för behörighetsutvärdering för Assets (t.ex."medarbetare" eller liknande):
- Navigera till skärmen Verktyg → Säkerhet → Behörigheter
- Markera gruppen Medarbetare (eller någon annan anpassad grupp som alla användargrupper tillhör)
- Klicka på Lägg till ACE i skärmens övre högra hörn
- Välj
/content/dam
för Bana - Ange
jcr:read
som privilegier - Välj
Deny
som behörighetstyp - Under Begränsningar väljer du
rep:ntNames
och angerdam:Asset
som begränsningsvärde - Klicka på Spara
Bevilja åtkomst till resurser via metadata
Åtkomstkontrollposter kan nu läggas till för att ge läsåtkomst till användargrupper baserat på de konfigurerade egenskapsvärdena för tillgångsmetadata.
- Navigera till skärmen Verktyg → Säkerhet → Behörigheter
- Välj de användargrupper som ska ha åtkomst till resurserna
- Klicka på Lägg till ACE i skärmens övre högra hörn
- Välj
/content/dam
(eller en undermapp) för Sökväg - Ange
jcr:read
som privilegier - Välj
Allow
som behörighetstyp - Under Begränsningar väljer du ett av de konfigurerade egenskapsnamnen för resursmetadata i OSGi-konfigurationen
- Ange det obligatoriska egenskapsvärdet för metadata i fältet Begränsningsvärde
- Klicka på ikonen + för att lägga till begränsningen i åtkomstkontrollposten
- Klicka på Spara
Metadatadrivna behörigheter används
Exempelmappen innehåller några resurser.
När du har konfigurerat behörigheter och angett metadataegenskaperna för resursen i enlighet med detta kommer användare (marknadsföringsanvändare i vårt fall) endast att se godkända resurser.
Fördelar och överväganden
Fördelarna med metadatadrivna behörigheter är:
- Detaljerad kontroll över åtkomsten till materialet baserat på specifika attribut.
- Frikoppling av åtkomstkontrollprinciper från mappstrukturen, vilket ger en mer flexibel resursorganisation.
- Möjlighet att definiera komplexa åtkomstkontrollsregler baserat på flera metadataegenskaper.
- Metadataegenskaper utvärderas mot begränsningarna med Stränglikhet (
=
) (andra datatyper eller operatorer stöds ännu inte, för större än (>
) eller Date-egenskaper) - Om du vill tillåta flera värden för en begränsningsegenskap kan du lägga till ytterligare begränsningar i åtkomstkontrollposten genom att välja samma egenskap i listrutan "Välj typ" och ange ett nytt begränsningsvärde (t.ex.
status=approved
,status=wip
) och klicka på "+" för att lägga till begränsningen i posten
- AND-begränsningar stöds, via flera begränsningar i en enda åtkomstkontrollpost med olika egenskapsnamn (t.ex.
status=approved
,brand=Adobe
) utvärderas som ett AND-villkor, vilket innebär att den valda användargruppen beviljas läsåtkomst till resurser medstatus=approved AND brand=Adobe
- OR-begränsningar stöds genom att en ny Access Control-post med en metadataegenskapsbegränsning lägger till ett OR-villkor för posterna, t.ex. en enskild post med restriktionen
status=approved
och en enskild post medbrand=Adobe
utvärderas somstatus=approved OR brand=Adobe