Neo4j – Fehlerkonfiguration mit redundanter ACE

Problem:

Finde alle Verzeichnisse, in der es eine ACE für einen Account gibt, die Explizit und gleichzeitig vererbt ist.

In diesen Fällen können die Verzeichnisse aus der Betrachtung ausgeschlossen werden.

 

Effektiv gibt es das recht schon vererbt – das expl. Recht kann also schon während der Betrachtung ausgeblendet werden.

 

Die spannende Frage ist nur noch, wo man das genau anwendet.

  1. Direkt in der DB bereinigen oder flaggen, damit der Aufwand schon mal minimiert wird
  2. Die Bereinigung direkt in das FS zu geben, um einen regelmäßige Bereinigungen von falschen Berechtigungen automatisch zu korrigieren

 

 

MATCH (:Project)-[:rel_child_ini]->(n)-[:rel_child0*0..]->(v)<-[ra:rel_right0]-() 
where tointeger(ra.explicit)=1 with v match (v)<-[ra:rel_right0]-(explizit)-[:rel_ace]->(
u) match (v)<-[ra1:rel_right0]-(vererbt)-[:rel_ace]->(u1) where tointeger(ra.explicit)=1 and 
tointeger(ra1.explicit)=0 and u.name=u1.name and  (tointeger(vererbt.ace)=tointeger(explizit.ace) 
or tointeger(vererbt.ace)>tointeger(explizit.ace))

 

return distinct v.sourcepath, u.name,explizit.ace, vererbt.ace order by v.sourcepath

 

 

 

 

 

 

 

Output aus der Analyse

Kann ein PS sein, dass gezielt genau diese Einträge aus der ACL entfernt. Danach ist der physikalische Baum wieder sauber. Könnte man sicher auch direkt mit PS machen.

 

Kann aber auch erstmal nur eine Analyse über den Zustand des Filesystems sein. Gibt es Fehlkonfigurationen?

 

Auf alle Fälle wäre es wichtig, all diese Berechtigungen niemals beim Füllen der Tabellen mit zu berücksichtigen.

 

Es könnte auch ein Script sein, dass die Berechtigungen im Vorfeld aus der DB löscht, damit diese nicht im Tree angezeigt werden.

Translate »