Die Aktivierung des Zugriffs auf ein CRX-Repository umfasst verschiedene Themen:
Nachfolgend sind die grundlegenden Elemente aufgeführt:
Benutzerkonten - CRX authentifiziert den Zugriff durch Identifizieren und Überprüfen eines Benutzers (durch diese Person oder eine andere Anwendung) entsprechend den im Benutzerkonto gespeicherten Details.
In CRX ist jedes Benutzerkonto ein Knoten im Arbeitsbereich. Ein CRX-Benutzerkonto verfügt über die folgenden Eigenschaften:
Es stellt eine Benutzerin bzw. einen Benutzer von CRX dar.
Es verfügt über einen Benutzernamen und ein Passwort.
Gilt für diesen Arbeitsbereich.
Sie kann keine Unterbenutzer haben. Für hierarchische Zugriffsberechtigungen sollten Sie Gruppen verwenden.
Sie können Zugriffsberechtigungen für das Benutzerkonto angeben.
Um die Verwaltung zu vereinfachen, empfiehlt Adobe jedoch, dass Sie (in den meisten Fällen) Gruppenkonten Zugriffsrechte zuweisen. Die Zuweisung von Zugriffsrechten für jeden einzelnen Benutzer wird schnell schwierig zu verwalten (die Ausnahmen sind bestimmte Systembenutzer, wenn nur eine oder zwei Instanzen vorhanden sind).
Gruppenkonten - Gruppenkonten sind Sammlungen von Benutzern und/oder anderen Gruppen. Diese dienen zur Vereinfachung der Verwaltung, da eine Änderung der einer Gruppe zugewiesenen Zugriffsrechte automatisch auf alle Benutzenden dieser Gruppe angewendet wird. Eine Benutzerin bzw. ein Benutzer muss nicht unbedingt Mitglied einer Gruppe sein, gehört aber häufig zu mehreren.
In CRX hat eine Gruppe die folgenden Eigenschaften:
Zugriffsberechtigungen - CRX verwendet Zugriffsrechte, um den Zugriff auf bestimmte Bereiche des Repositorys zu steuern.
Dies erfolgt über die Zuweisung von Berechtigungen, um den Zugriff auf eine Ressource (Knoten oder Pfad) im Repository zuzulassen oder abzulehnen. Da zahlreiche Berechtigungen zugewiesen werden können, müssen sie ausgewertet werden, um festzustellen, welche Kombination für die aktuelle Anfrage relevant ist.
Mit CRX können Sie die Zugriffsberechtigungen für Benutzer- und Gruppenkonten konfigurieren. Es werden dann dieselben grundlegenden Bewertungsprinzipien auf beide angewendet.
In CRX wird die Zugriffssteuerung gemäß der Definition in JSR-283 implementiert.
Die Standardinstallation eines CRX-Repositorys ist so konfiguriert, dass sie die ressourcenbasierten Zugriffssteuerungslisten verwendet. Dies ist eine mögliche Implementierung der Zugriffssteuerung nach JSR-283 und einer der Implementierungen, die mit Jackrabbit vorhanden sind.
CRX verwendet zwei Hauptkonzepte zur Bewertung der Zugriffsrechte:
Ein Prinzipal ist eine Entität, die Zugriffsrechte besitzt. Zu den Prinzipalen gehören:
Ein Benutzerkonto
Ein Gruppenkonto
Wenn ein Benutzerkonto zu einer oder mehreren Gruppen gehört, ist es auch mit jedem dieser Gruppenprinzipale verknüpft.
Ein Objekt repräsentiert die Quelle einer Anfrage.
Es dient zur Konsolidierung der für diese Anfrage relevanten Zugriffsrechte. Diese stammen von:
dem Benutzerprinzipal
den Rechten, die Sie dem Benutzerkonto direkt zuweisen
allen mit diesem Benutzer verknüpften Gruppenprinzipalen
Alle Rechte werden einer der Gruppen zugewiesen, zu denen der Benutzer gehört.
Das Ergebnis wird dann verwendet, um den Zugriff auf die angeforderte Ressource zu erlauben oder zu verweigern.
In CRX hängt das Betreff von Folgendem ab:
Die Liste der für das Subjekt geltenden Zugriffsrechte wird erstellt aus:
Wenn CRX die Anfrage verarbeitet, vergleicht es die Zugriffsanfrage des Betreffs mit der Zugriffssteuerungsliste auf dem Repository-Knoten:
Wenn also Linda eine Aktualisierung des Knotens /features
in der folgenden Repository-Struktur anfordert:
Zugriffsberechtigungen in CRX werden wie folgt bewertet:
Benutzerprinzipale haben immer Vorrang vor Gruppenprinzipalen, unabhängig von:
Für einen bestimmten Prinzipal gibt es (höchstens) einen Ablehnungs- und einen Zulassungseintrag für einen bestimmten Knoten. Die Implementierung löscht immer redundante Einträge und stellt sicher, dass dieselbe Berechtigung nicht sowohl in den Zulassungs- als auch in den Ablehnungseinträgen aufgeführt wird.
Dieser Bewertungsprozess ist für die ressourcenbasierte Zugriffskontrolle einer standardmäßigen CRX-Installation geeignet.
Nachfolgend sehen Sie zwei Beispiele, in denen der Benutzer aUser
Mitglied der Gruppe aGroup
ist:
+ parentNode
+ acl
+ ace: aUser - deny - write
+ childNode
+ acl
+ ace: aGroup - allow - write
+ grandChildNode
Im obigen Fall:
aUser
keine Schreibberechtigung für den Knoten grandChildNode
gewährt. + parentNode
+ acl
+ ace: aUser - deny - write
+ childNode
+ acl
+ ace: aGroup - allow - write
+ ace: aUser - deny - write
+ grandChildNode
In diesem Fall:
aUser
keine Schreibberechtigung für den Knoten grandChildNode
gewährt.aUser
ist redundant.Zugriffsberechtigungen von mehreren Gruppenprinzipalen werden anhand ihrer Reihenfolge bewertet, sowohl innerhalb der Hierarchie als auch innerhalb einer einzigen Zugriffssteuerungsliste.
Die nachfolgende Tabelle enthält einige Empfehlungen und Best Practices:
Empfehlung... | Grund... |
Benutzergruppen | Vermeiden Sie es, Zugriffsrechte Benutzer für Benutzer zuzuweisen. Dafür gibt es mehrere Gründe:
|
Positiv sein | Verwenden Sie immer Anweisungen vom Typ „Zulassen“, um die Zugriffsrechte des Gruppenprinzipals anzugeben (sofern möglich). Vermeiden Sie Anweisungen vom Typ „Ablehnen“. Gruppenprinzipale werden der Reihenfolge nach innerhalb der Hierarchie und innerhalb einer einzelnen Zugriffssteuerungsliste bewertet. |
Es einfach halten | Es ist gut, Zeit und Gedanken in die Konfiguration einer Neuinstallation zu investieren. Die Anwendung einer klaren Struktur vereinfacht die laufende Wartung und Verwaltung und stellt sicher, dass sowohl Ihre aktuellen Kollegen als auch Ihre zukünftigen Nachfolger leicht verstehen können, was implementiert wird. |
Testen | Verwenden Sie eine Testinstallation, um zu üben und sicherzustellen, dass Sie die Beziehungen zwischen den verschiedenen Benutzern und Gruppen verstehen. |
Standardbenutzer/-gruppen | Aktualisieren Sie die Standardbenutzer und -gruppen immer sofort nach der Installation, um Sicherheitsprobleme zu vermeiden. |
Für die Benutzerverwaltung wird ein Standard-Dialogfeld verwendet.
Sie müssen beim entsprechenden Arbeitsbereich angemeldet sein und können dann über diese beiden Optionen auf das Dialogfeld zugreifen:
Eigenschaften
Benutzer-ID
Der Kurzname für das Konto wird beim Zugriff auf CRX verwendet.
Prinzipalname
Vollständiger Name des Kontos
Kennwort
Erforderlich, wenn mit diesem Konto auf CRX zugegriffen wird
ntlmhash
Wird automatisch jedem neuen Konto zugewiesen und bei Änderung des Kennworts aktualisiert
Sie können neue Eigenschaften hinzufügen, indem Sie einen Namen, einen Typ und den Wert definieren. Klicken Sie für jede neue Eigenschaft auf „Speichern“ (grünes Häkchensymbol).
Gruppenmitgliedschaft
Hier werden alle Gruppen angezeigt, die zu diesem Konto gehören. Die Spalte Übernommen zeigt Mitgliedschaften an, die durch eine Mitgliedschaft bei einer anderen Gruppe übernommen wurden.
Wenn Sie auf eine Gruppen-ID klicken (sofern verfügbar), wird die Gruppenverwaltung für diese Gruppe.
Darsteller
Mit der Funktion „Stellvertretend agieren“ kann ein Benutzer im Namen eines anderen Benutzers arbeiten.
Das bedeutet, dass ein Benutzerkonto andere Konten (Einzelperson oder Gruppe) angeben kann, die mit ihrem Konto arbeiten können. Wenn also Benutzer B stellvertretend für Benutzer A agieren darf, kann Benutzer B mit den vollständigen Kontodetails von Benutzer A handeln (einschließlich ID, Name und Zugriffsberechtigungen).
Dies ermöglicht es dem Darsteller, Aufgaben so auszuführen, als ob er das Konto, für das er stellvertretend agiert, verwendet hätte, z. B. während einer Abwesenheit oder kurzfristig eine übermäßige Belastung.
Wenn ein Konto stellvertretend für ein anderes agiert, ist es schwer zu sehen. Die Protokolldateien enthalten keine Informationen darüber, dass bei den Ereignissen eine Stellvertretung stattgefunden hat. Wenn also Benutzer B stellvertretend für Benutzer A agiert, können alle Ereignisse so aussehen, als ob sie von Benutzer A persönlich durchgeführt würden.
Öffnen Sie das Dialogfeld Benutzerverwaltung.
Klicken Sie auf Benutzer erstellen.
Sie können dann die Eigenschaften eingeben:
Klicken Sie auf Speichern (grünes Häkchen-Symbol).
Das Dialogfeld wird erweitert, sodass Sie Folgendes tun können:
Manchmal kann es zu Leistungseinbußen kommen, wenn neue Benutzende in Installationen registriert werden, die über eine hohe Anzahl von diesen beiden Merkmalen verfügen:
Dadurch wird der Knoten für diesen Prinzipal aus dem Repository entfernt.
Einträge mit Zugriffsrechten werden nicht entfernt. So wird die historische Integrität gesichert.
Sie können Eigenschaften für neue oder vorhandene Konten definieren:
Vorhandene Eigenschaften können über das Papierkorbsymbol gelöscht werden.
Mit Ausnahme des Kennworts können Eigenschaften nicht bearbeitet werden. Sie müssen gelöscht und neu erstellt werden.
Die Passwort ist eine spezielle Eigenschaft, die durch Klicken auf Kennwort ändern -Link.
Über das Menü Sicherheit im CRX-Explorer können Sie auch das Passwort für Ihr eigenes Benutzerkonto ändern.
Sie können Darsteller zur Stellvertretung für neue oder vorhandene Konten definieren:
Öffnen Sie das Dialogfeld Benutzerverwaltung für das entsprechende Konto.
Geben Sie das Konto an, dem es gestattet sein soll, stellvertretend für dieses Konto zu agieren.
Sie können über die Option „Durchsuchen…“ ein bestehendes Konto auswählen.
Klicken Sie auf „Speichern“ (grünes Häkchensymbol) für die neue Eigenschaft.
Für die Gruppenverwaltung wird ein Standarddialogfeld verwendet.
Sie müssen beim entsprechenden Arbeitsbereich angemeldet sein und können dann über diese beiden Optionen auf das Dialogfeld zugreifen:
Eigenschaften
Gruppen-ID
Kurzname für das Gruppenkonto
Prinzipalname
Vollständiger Name des Gruppenkontos
Sie können neue Eigenschaften hinzufügen, indem Sie einen Namen, einen Typ und den Wert definieren. Klicken Sie für jede neue Eigenschaft auf „Speichern“ (grünes Häkchensymbol).
Mitglieder
Sie können Benutzer oder andere Gruppen als Mitglieder dieser Gruppe hinzufügen.
Gruppenmitgliedschaft
Hier werden alle Gruppen angezeigt, die zu diesem aktuellen Gruppenkonto gehören. Die Spalte Übernommen zeigt Mitgliedschaften an, die durch eine Mitgliedschaft bei einer anderen Gruppe übernommen wurden.
Durch Klicken auf eine Gruppen-ID wird das Dialogfeld für diese Gruppe geöffnet.
Mitglieder
Listet alle Konten (Einzelpersonen und/oder Gruppen) auf, die Mitglieder der aktuellen Gruppe sind.
Die Spalte Übernommen zeigt Mitgliedschaften an, die durch eine Mitgliedschaft bei einer anderen Gruppe übernommen wurden.
Wenn die Eigentümer-, Bearbeiter- oder Betrachterrolle einem Benutzer in einem beliebigen Asset-Ordner zugewiesen wird, wird eine neue Gruppe erstellt. Der Gruppenname ist vom Format mac-default-<foldername>
für jeden Ordner, für den die Rollen definiert sind.
Öffnen Sie die Gruppenverwaltung Dialogfeld.
Klicken Sie auf Gruppe erstellen.
Sie können dann die Eigenschaften eingeben:
Klicken Sie auf Speichern (grünes Häkchen-Symbol).
Das Dialogfeld wird erweitert, sodass Sie:
Dadurch wird der Knoten für diesen Prinzipal aus dem Repository entfernt.
Einträge mit Zugriffsrechten werden nicht entfernt. So wird die historische Integrität gesichert.
Sie können Eigenschaften für neue oder vorhandene Konten definieren:
Vorhandene Eigenschaften können über das Papierkorbsymbol gelöscht werden.
Sie können Mitglieder zur aktuellen Gruppe hinzufügen:
Öffnen Sie das Dialogfeld Gruppenverwaltung für das entsprechende Konto.
Sie haben folgende Möglichkeiten:
Klicken Sie auf „Speichern“ (grünes Häkchensymbol) für die neue Eigenschaft.
Alternativ können Sie ein vorhandenes Mitglied über das Papierkorbsymbol löschen.
Mit dem Zugriffssteuerung -Registerkarte von CRXDE Lite können Sie die Zugriffssteuerungsrichtlinien definieren und die entsprechenden Berechtigungen zuweisen.
Beispiel: für Aktueller Pfad Wählen Sie die gewünschte Ressource im linken Bereich und im unteren rechten Bereich die Registerkarte Zugriffssteuerung aus:
Die Richtlinien sind wie folgt kategorisiert:
Gültige Richtlinien zur Zugriffssteuerung
Diese Richtlinien können angewendet werden.
Dies sind Richtlinien, die für die Erstellung einer lokalen Richtlinie zur Verfügung stehen. Wenn Sie eine entsprechende Richtlinie auswählen und hinzufügen, wird sie zu einer lokalen Richtlinie.
Lokale Richtlinien zur Zugriffssteuerung
Dies sind Richtlinien zur Zugriffssteuerung, die Sie angewendet haben. Sie können sie dann aktualisieren, sortieren oder entfernen.
Eine lokale Richtlinie überschreibt alle Richtlinien, die vom übergeordneten Element übernommen wurden.
Gültige Richtlinien zur Zugriffssteuerung
Dies sind Richtlinien zur Zugriffssteuerung, die jetzt für alle Zugriffsanfragen gelten. Sie zeigen die aggregierten Richtlinien an, die von den lokalen Richtlinien abgeleitet bzw. vom übergeordneten Element übernommenen werden.
Sie können Richtlinien für Folgendes auswählen:
Aktueller Pfad
Wählen Sie wie im vorherigen Beispiel eine Ressource innerhalb des Repositorys aus. Die Richtlinien für diesen "aktuellen Pfad"werden angezeigt.
jcr:namespaceManagement
festlegen, die nur für das Repository und nicht für einen Knoten relevant ist.Prinzipal
Ein Prinzipal, der im Repository registriert ist.
Sie können entweder die Principal oder klicken Sie auf das Symbol rechts neben dem Feld, um die Prinzipal auswählen Dialogfeld.
Damit können Sie Suche für Benutzer oder Gruppe. Wählen Sie den erforderlichen Prinzipal aus der resultierenden Liste aus und klicken Sie auf OK , um den Wert wieder in das vorherige Dialogfeld zu übertragen.
Um die Verwaltung zu vereinfachen, empfiehlt Adobe, dass Sie Gruppenkonten Zugriffsrechte zuweisen, nicht einzelnen Benutzerkonten.
Es ist einfacher, einige wenige Gruppen anstatt vieler Benutzerkonten zu verwalten.
Die folgenden Berechtigungen können beim Hinzufügen eines Zugangssteuerungseintrags ausgewählt werden (umfassende Details finden Sie in Sicherheits-API).
Berechtigungsname | Dies steuert die Berechtigung zum... |
---|---|
jcr:read |
Abrufen eines Knotens und Lesen von dessen Eigenschaften und deren Werte. |
rep:write |
Dies ist eine Jackrabbit-spezifische Aggregat-Berechtigung von jcr:write und jcr:nodeTypeManagement. |
jcr:all |
Dies ist eine aggregierte Berechtigung, die alle anderen vordefinierten Berechtigungen enthält. |
Erweitert | |
crx:replicate |
Durchführen der Replikation eines Knotens. |
jcr:addChildNodes |
Erstellen von untergeordneten Knoten eines Knotens. |
jcr:lifecycleManagement |
Durchführen von Lebenszyklusvorgängen für einen Knoten. |
jcr:lockManagement |
Sperren und Rntsperren eines Knoten; Aktualisieren einer Sperre. |
jcr:modifyAccessControl |
Ändern der Richtlinien zur Zugriffssteuerung für einen Knoten. |
jcr:modifyProperties |
Erstellen, ändern und entfernen Sie die Eigenschaften eines Knotens. |
jcr:namespaceManagement |
Namespace-Definitionen registrieren, deregistrieren und ändern. |
jcr:nodeTypeDefinitionManagement |
Importieren von Knotentypdefinitionen in das Repository. |
jcr:nodeTypeManagement |
Steuern der Berechtigung zum Hinzufügen und Entfernen von Mixin-Knotentypen sowie Ändern des primären Knotentyps eines Knotens. Dies schließt auch alle Aufrufe der Node.addNode- und XML-Importmethoden ein, bei denen der Mixin-Typ oder primäre Typ des neuen Knotens explizit festgelegt ist. |
jcr:readAccessControl |
Lesen der Richtlinie zur Zugriffssteuerung für einen Knoten. |
jcr:removeChildNodes |
Entfernen von untergeordneten Knoten eines Knotens. |
jcr:removeNode |
Entfernen eines Knotens. |
jcr:retentionManagement |
Durchführen von Aufbewahrungsverwaltungsvorgängen für einen Knoten. |
jcr:versionManagement |
Ausführen von Versionierungsvorgängen für einen Knoten. |
jcr:workspaceManagement |
Das Erstellen und Löschen von Workspaces über die JCR-API. |
jcr:write |
Dies ist eine aggregierte Berechtigung, die Folgendes enthält: – jcr:modifyProperties – jcr:addChildNodes – jcr:removeNode – jcr:removeChildNodes |
rep:privilegeManagement |
Registrieren Sie eine neue Berechtigung. |
Sie können auch neue Berechtigungen registrieren:
Wählen Sie in der Symbolleiste Instrumente, dann Berechtigungen , um die aktuell registrierten Berechtigungen anzuzeigen.
Verwenden Sie die Berechtigung registrieren Symbol (+), damit Sie eine Berechtigung definieren können:
Klicken Sie zum Speichern auf OK. Die Berechtigung steht jetzt zur Auswahl zur Verfügung.
Wählen Sie die Ressource aus und öffnen Sie die Registerkarte Zugriffssteuerung.
Um neue Richtlinien zur lokalen Zugriffssteuerung hinzuzufügen, klicken Sie auf das +-Symbol rechts neben der Liste Gültige Richtlinie für die Zugriffssteuerung:
Es wird ein neuer Eintrag unter Richtlinien zur lokalen Zugriffssteuerung angezeigt:
Klicken Sie auf + -Symbol, damit Sie einen Eintrag hinzufügen können:
Derzeit ist es nur mithilfe einer Übergangslösung möglich, eine leere Zeichenfolge festzulegen.
Dazu müssen Sie ""
.
Definieren Sie Ihre Zugriffssteuerungsrichtlinie und klicken Sie zum Speichern auf OK. Ihre neue Richtlinie lautet:
CRX überprüft Ihre Auswahl. Für einen bestimmten Prinzipal gibt es (höchstens) eine Ablehnungs- und eine Zulassungseingabe für einen bestimmten Knoten. Die Implementierung löscht immer redundante Einträge und stellt sicher, dass dieselbe Berechtigung nicht sowohl in den Zulassungs- als auch in den Ablehnungseinträgen aufgeführt wird.
Die Reihenfolge in der Liste zeigt die Reihenfolge an, in der die Richtlinien angewendet werden.
In der Tabelle von Richtlinien zur lokalen Zugriffssteuerung, wählen Sie den gewünschten Eintrag aus und ziehen Sie ihn an die neue Position in der Tabelle.
Die Änderungen werden in beiden Tabellen für die Lokal und Effektive Richtlinien zur Zugriffssteuerung.
Wählen Sie in der CRXDE Lite-Symbolleiste die Option Instrumente, dann Zugriffskontrolle testen….
Oben rechts wird ein neues Dialogfeld geöffnet. Wählen Sie den Pfad und/oder den Prinzipal aus, den Sie testen möchten.
Klicken Sie auf Testen, um die Ergebnisse für Ihre Auswahl zu sehen: