Beschränken des direkten Browser-Zugriffs auf DAM-Ordner in Adobe Experience Manager
Adobe Experience Manager (AEM) ermöglicht möglicherweise den direkten Browser-Zugriff auf Assets in DAM-Ordnern, wenn die Berechtigungen und Dispatcher-Filter nicht explizit eingeschränkt sind. Um das Problem zu beheben, beschränken Sie Repository-Berechtigungen und den Dispatcher-Zugriff für die geschützten DAM-Pfade, während Sie authentifizierten Microservices Zugriff auf die erforderlichen Assets gewähren.
Beschreibung description
Umgebung
Adobe Experience Manager (alle unterstützten Versionen)
Problem/Symptome
- Auf bestimmte DAM-Ordner kann direkt über einen Webbrowser zugegriffen werden, sodass Dateien wie CSVs oder andere Assets von jedem heruntergeladen werden können, der die URL kennt.
- Dateien in bestimmten DAM-Ordnern, z. B.
/content/dam/<folder>/example.csv, können direkt über einen Browser aufgerufen und heruntergeladen werden. - Der direkte Browser-Zugriff muss eingeschränkt werden, während autorisierte Microservices den Zugriff auf die erforderlichen Assets behalten.
Grundursache
Standardmäßig können anonyme Benutzende auf DAM-Ordner zugreifen, wenn die Berechtigungen und Dispatcher-Filter nicht explizit eingeschränkt sind.
Lösung resolution
Gehen Sie wie folgt vor, um das Problem zu beheben:
-
Abhärten von Repository-Berechtigungen mithilfe von AEM-ACLs:
- Navigieren Sie in der AEM-Autoreninstanz zu Tools
>Sicherheit>Berechtigungen. - Verweigern Sie für Gruppen, die öffentliche oder anonyme Benutzer darstellen, den Lesezugriff auf die sensiblen DAM-Ordner, z. B.
/content/dam/<folder>. - Erstellen Sie einen technischen Benutzer oder einen Service-Benutzer mit
jcr:readBerechtigungen nur für diese Ordner. - Konfigurieren Sie die Microservices, die sich beim Zugriff auf die Assets als dieser technische Benutzer authentifizieren sollen.
- Navigieren Sie in der AEM-Autoreninstanz zu Tools
-
Blockieren Sie direkte öffentliche URLs auf der Dispatcher:
-
Fügen Sie in der Dispatcher-Konfiguration Ablehnungsregeln für die DAM-Pfade hinzu, die Sie schützen möchten. Platzieren Sie diese Regeln nach dem globalen Ablehnen und vor allgemeinen Zulassungsregeln.
-
Verwenden Sie die folgende Beispielkonfiguration:
code language-none /filter { # Deny direct access to DAM subtree /0200 { /type "deny" /method "GET" /path "/content/dam//*" } }
Mit diesen Regeln erhalten Browser
403oder404Fehler für den direkten Zugriff, während Microservices einen internen vhost- oder API-Endpunkt mit unterschiedlichen Dispatcher-Regeln und technischen Benutzeranmeldeinformationen verwenden können. -
-
Überprüfen Sie die Lösung:
- Versuchen Sie, über einen Browser auf ein geschütztes Asset zuzugreifen, und vergewissern Sie sich, dass der Zugriff verweigert wird.
- Vergewissern Sie sich, dass die mit dem technischen Anwender konfigurierten Microservices weiterhin auf die erforderlichen Assets zugreifen können.