Metadatengesteuerte Berechtigungen metadata-driven-permissions
Metadatengesteuerte Berechtigungen sind eine Funktion, mit der Zugriffssteuerungsentscheidungen in der AEM Assets-Autoreninstanz auf der Grundlage von Asset-Metadateneigenschaften und nicht auf der Ordnerstruktur festgelegt werden können. Mit dieser Funktion können Sie Zugriffssteuerungsrichtlinien definieren, die Attribute wie den Asset-Status, den -Typ oder eine von Ihnen definierte benutzerdefinierte Metadateneigenschaft auswerten.
Sehen wir uns ein Beispiel an. Kreative laden ihre Arbeit in AEM Assets in den Ordner hoch, der mit der Kampagne in Verbindung steht. Möglicherweise handelt es sich um ein laufendes Asset, das noch nicht zur Verwendung freigegeben wurde. Wir möchten sicherstellen, dass Marketing-Fachkräfte nur genehmigte Assets für diese Kampagne sehen. Wir können die Metadateneigenschaft verwenden, um anzugeben, dass ein Asset genehmigt wurde und von Marketing-Fachkräften verwendet werden kann.
Funktionsweise
Die Aktivierung metadatengesteuerter Berechtigungen umfasst die Definition, welche Asset-Metadateneigenschaften Zugriffsbeschränkungen wie „Status“ oder „Marke“ darstellen. Diese Eigenschaften können dann verwendet werden, um Zugriffssteuerungseinträge zu erstellen, die angeben, welche Benutzergruppen Zugriff auf Assets mit bestimmten Eigenschaftswerten haben.
Voraussetzungen
Der Zugriff auf eine AEM as a Cloud Service-Umgebung, die auf die neueste Version aktualisiert wurde, ist erforderlich, um metadatengesteuerte Berechtigungen einzurichten.
OSGi-Konfiguration configure-permissionable-properties
Um metadatengesteuerte Berechtigungen zu implementieren, müssen Entwickelnde eine OSGi-Konfiguration für AEM as a Cloud Service bereitstellen, die zulässt, dass bestimmte Asset-Metadateneigenschaften metadatengesteuerte Berechtigungen ermöglichen.
-
Bestimmen Sie, welche Asset-Metadateneigenschaften für die Zugriffssteuerung verwendet werden. Die Namen der Eigenschaften sind die Namen der JCR-Eigenschaften auf der Ressource
jcr:content/metadata
des Assets. In unserem Fall handelt es sich um eine Eigenschaft namensstatus
. -
Erstellen Sie eine OSGi-Konfiguration
com.adobe.cq.dam.assetmetadatarestrictionprovider.impl.DefaultRestrictionProviderConfiguration.cfg.json
in Ihrem AEM Maven-Projekt. -
Fügen Sie folgenden JSON-Inhalt in die erstellte Datei ein:
code language-json { "restrictionPropertyNames":[ "status", "brand" ], "enabled":true }
-
Ersetzen Sie die Eigenschaftsnamen durch die erforderlichen Werte.
Zurücksetzen der grundlegenden Asset-Berechtigungen
Bevor Sie einschränkungsbasierte Zugriffssteuerungseinträge hinzufügen, sollte ein neuer Eintrag auf oberster Ebene hinzugefügt werden, um zunächst den Lesezugriff für alle Gruppen zu verweigern, die einer Auswertung der Berechtigungen für Assets unterliegen (z. B. „Mitwirkende“ oder ähnlich):
- Navigieren Sie zum Bildschirm Tools → Sicherheit → Berechtigungen.
- Wählen Sie die Gruppe Mitwirkende aus (oder eine andere benutzerdefinierte Gruppe, zu der alle Benutzergruppen gehören).
- Klicken Sie oben rechts im Bildschirm auf ACE hinzufügen.
- Wählen Sie
/content/dam
als Pfad aus. - Geben Sie
jcr:read
für Berechtigungen ein. - Wählen Sie
Deny
als Berechtigungstyp aus. - Wählen Sie unter „Einschränkungen“
rep:ntNames
aus und geben Sie danndam:Asset
als Einschränkungswert ein. - Klicken Sie auf Speichern.
Gewähren von Zugriff auf Assets über Metadaten
Es können jetzt Zugriffssteuerungseinträge hinzugefügt werden, um Benutzergruppen Lesezugriff auf der Grundlage von konfigurierten Asset-Metadateneigenschaftswerten zu gewähren.
- Navigieren Sie zum Bildschirm Tools → Sicherheit → Berechtigungen.
- Wählen Sie die Benutzergruppen aus, denen Zugriff auf die Assets gewährt werden soll.
- Klicken Sie oben rechts im Bildschirm auf ACE hinzufügen.
- Wählen Sie
/content/dam
(oder einen Unterordner) als Pfad aus. - Geben Sie
jcr:read
für Berechtigungen ein. - Wählen Sie
Allow
als Berechtigungstyp aus. - Wählen Sie unter Einschränkungen einen der konfigurierten Asset-Metadateneigenschaftsnamen in der OSGi-Konfiguration aus.
- Geben Sie den erforderlichen Metadateneigenschaftswert in das Feld Einschränkungswert ein.
- Klicken Sie auf das Symbol +. um die Einschränkung zum Zugriffssteuerungseintrag hinzuzufügen.
- Klicken Sie auf Speichern.
Wirksame metadatengesteuerte Berechtigungen
Beispielordner enthält einige Assets.
Nachdem Sie Berechtigungen konfiguriert und die Asset-Metadateneigenschaften entsprechend festgelegt haben, sehen Benutzerinnen und Benutzer (in unserem Fall Marketing-Benutzerinnen und -Benutzer) nur genehmigte Assets.
Vorteile und Überlegungen
Zu den Vorteilen von metadatengesteuerten Berechtigungen gehören:
- Präzise Kontrolle über den Asset-Zugriff basierend auf bestimmten Attributen.
- Entkopplung von Richtlinien zur Zugriffssteuerung von der Ordnerstruktur, wodurch eine flexiblere Asset-Organisation möglich ist.
- Möglichkeit zur Definition komplexer Zugriffssteuerungsregeln basierend auf mehreren Metadateneigenschaften.
- Metadateneigenschaften werden anhand der Einschränkungen mit Zeichenfolgengleichheit (
=
) bewertet (andere Datentypen oder Operatoren werden noch nicht unterstützt, z. B. größer als (>
) oder Datumseigenschaften) - Um mehrere Werte für eine Einschränkungseigenschaft zuzulassen, können dem Zugriffssteuerungseintrag zusätzliche Einschränkungen hinzugefügt werden, indem Sie dieselbe Eigenschaft aus der Dropdown-Liste „Typ auswählen“ auswählen und einen neuen Beschränkungswert eingeben (z B.
status=approved
,status=wip
) und auf „+“ klicken, um die Einschränkung zum Eintrag hinzuzufügen
- UND-Einschränken werden mittels mehrerer Einschränkungen in einem einzelnen Zugriffssteuerungseintrag mit verschiedenen Eigenschaftsnamen (z. B.
status=approved
,brand=Adobe
) unterstützt und als UND-Bedingung ausgewertet, d. h. die ausgewählte Benutzergruppe erhält Lesezugriff auf Assets mitstatus=approved AND brand=Adobe
- ODER-Einschränkungen werden durch Hinzufügen eines neuen Zugriffssteuerungseintrags mit einer Metadaten-Eigenschaftsbeschränkung beschränkt, die eine ODER-Bedingung für die Einträge festgelegt, z. B. wird ein einzelner Eintrag mit Einschränkungen
status=approved
und ein einzelner Eintrag mitbrand=Adobe
alsstatus=approved OR brand=Adobe
bewertet