Unterschiedliche Rechtegruppe

Hallo,

wir benötigen demnächst unterschiedliche Rechte auf Ebene von Kontakten, Gruppen und Feldern vergeben. Konkret: Wir brauchen eine Rechtegruppe „Geschäftsführung“ die alles sieht und bearbeiten kann und eine Gruppe „Alle anderen“, die Kontakte in bestimmten Gruppen nur sehen, aber nicht ändern kann und die bestimmte Felder nicht sehen kann.

Wie kann ich sowas einrichten?

Dank & Gruß,
Regina

Die Einrichtung von unterschiedlichen „Rollen“ wird im jeweiligen CMS vorgenommen.

In Drupal kann man einfach weitere Rollen definieren und wunschgemäß anpassen.

In Wordpress gibt es standardmäßig nur eine Handvoll Rollen, die eher auf eine typische Wordpress-Blogseite ausgerichtet sind. Um weitere Rollen zu definieren, kann man ein Wordpress-Plugin installieren, das diese Funktionalität mitbringt. Geeignet ist z.B. das Plugin „Members“.

Dort definierst du also weitere Rollen - und kannst dann im CiviCRM bequem die Berechtigungen vergeben.

Ergänzend zu den grundlegenden Berechtigungen die @detlev.sieber beschrieben hat müssen im Fall von „Kontaktinseln“ (also bestimmte Kontakte dürfen von allen und andere nur von bestimmten CiviCRM-Nutzer*innen gesehen werden) noch ACL-Berechtigungen konfiguriert werden. Informationen dazu findet man im CiviCRM Handbuch.

Diese zu konfigurieren und anschließend zu pflegen kann aber je nach Szenario sehr aufwändig sein. Außerdem beachten nicht alle Erweiterungen oder Anbindungen (bspw. via API) die ACL in allen Fällen. Daher würden wir Euch empfehlen noch einmal gut zu überlegen, ob das wirklich erforderlich ist.

Falls ja, nehmt Euch in jedem Fall Zeit für ausführliche Tests und dokumentiert Euer Berechtigungskonzept.

Viel Erfolg!

Hallo und vielen Dank für eure Antworten :ok_hand:

Ich habe in Members die Rolle „Geschäftsführung“ erstellt und u. a. die Berechtigung „Inhaltszugang begrenzen“ aktiviert.
In Civi habe ich die Gruppe „Geschäftsführung“ als Zugangsberechtigung erstellt und drei Personen hinzugefügt. Denen konnte ich aber nur die Rolle „Beglaubigt“ zuweisen.

Wie kann ich jetzt erreichen, dass z. B. die Gruppe „Geheim“ nur von der GF bearbeitet werden kann?

Dank & Gruß von Regina

Hallo,

ich möchte gerne meine bisherigen Schritte dokumentieren und damit nebenbei auch um weitere Ideen zur Problemlösung bitten:

  • Wordpress Zugangsberechtigung „Geschäftsführung“
  • ACL-Rolle „Geschäftsführung“, zugewiesen an Gruppe „SAB-Geschäftsführung“ (Typ Zugangsberechtigung)
  • Zugriffskontrolllisten: Rolle „Geschäftsführung“ darf Gruppe 130 bearbeiten
  • Wordpress Zugangsberechtigung „CiviCRM Advanced“ / Mitarbeiter
  • ACL-Rolle „Team“, zugewiesen an Gruppe „SAB-Team“ (Typ Zugangsberechtigung) = alle Mitarbeiter abzüglich 3 GF, abzüglich 2 Admins
  • Zugriffskontrolllisten: Rolle „Team“ darf Gruppe 130 nur ansehen

Trotzdem kann eine Kollegin, die der Gruppe Team zugewiesen ist, Kontakte aus der „verbotenen“ Gruppe bearbeiten und sogar löschen. Genau das soll verhindert werden.

Hi Freaks :rofl: :yellow_heart: :robot:,

was hat es eigentlich mit den „Permissions“ bei den Beziehungen auf sich:

Ich habe zu großen Respekt, das einfach auszuprobieren. Kann jemand kurz schildern, was die Optionen jeweils bewirken?

Dank & Gruß,
Regina

Hallo Regina,

da ich mich gerade intensiv mit exakt diesem Thema beschäftigt und gerade heute ein Issue dazu auf Gitlab gepostet habe, hier meine 2 Cents zum Thema:

Zunächst: WP-Zugangsberechtigungen haben immer Vorrang vor CiviCRM ACLs.

Das bedeutet: Da die entsprechenden WP-Permissions nicht in Bezug auf einzelne Gruppen unterscheiden, müsstest Du die WP-Permission zunächst für alle Rollen deaktivieren, um die Berechtigung dann frei über ACL-Regeln definieren zu können.

(Das dürfte der Grund dafür sein, dass Deine Kollegin Kontakte aus „verbotenen“ Gruppen sehen konnte, obwohl Du entsprechene ACL-Regeln erstellt hattest, die das verhindern sollten. Die ACL-Regeln greifen erst, wenn die WP-Permission deaktiviert ist.)

Nun beginnen aber in der Praxis erst die richtigen Probleme, denn ACLs kann man immer nur „positiv“ definieren, also Zugriff (Ansehen / Bearbeiten) erlauben, aber nicht per Regel verbieten.

Das bedeutet: Durch die Deaktivierung der WP-Permissions hat nun ohne entsprechende ACL-Regeln keine User*in die Berechtigung, Gruppen bzw. Kontakte aus Gruppen zu sehen bzw. zu bearbeiten. Um Dein Ziel zu erreichen (nur die Gruppe/Rolle „Geschäftsführung“ darf Kontaktgruppe 130 bearbeiten, alle anderen dürfen sie nur sehen), müsstest Du nun für alle Gruppen die Rechte über ACLs kleinteilig definieren - und zwar für jede Gruppe einzeln.

Das kann bei vielen Gruppen (130!) zu einem unmöglichen Task werden. Das entsprechende Regel-Geflecht dürfte unüberschaubar werden und nur schwer zu administrieren sein. Mal abgesehen davon, dass Du jedes Mal, wenn Du eine neue Gruppe erstellst, eine zusätzliche Regel erstellen müsstest.

Mit „negativen“ ACL-Regeln wäre die Aufgabe aus meiner Sicht deutlich einfacher, weswegen ich gerade heute ein entsprechendes Proposal auf Gitlab gepostet habe, das sich über Unterstützung in Form von Upvotes freuen würde:

Fazit: Bei 130 Gruppen würde ich Euch von dem Vorhaben abraten - zumindest solange es noch keine Möglichkeit gibt, negative ACL-Regeln zu erstellen.

Oder liege ich falsch und ihr habt in der Zwischenzeit eine Lösung gefunden?

Viele Grüße

Tobias

1 „Gefällt mir“

Hallo Tobias,

erstmal ein riesengroßes Dankeschön für deinen detaillierten, hilfreichen und verständlichen Post.

Ich habe trotz aller Bemühungen und diversen Austausch noch keine Lösung gefunden, und es bleibt schwierig meinem Chef klarzumachen, dass es für unsere Anforderung tatsächlich noch keine Funktion oder Erweiterung gibt. Mit deinem Bericht wird mir das endlich gelingen.

Ich wusste nicht, dass Wordpress-Einstellungen Vorrang vor Civi ACLs haben, was natürlich einiges erklärt. Das Szenario für alle Gruppen wäre mir in der Tat zu fehleranfällig (also meine Fehler, nicht die des Systems :wink:).

Ich finde es prima, dass du dieses Thema verfolgst und auf GitLab angehst, weil ich der Meinung bin, dass gerade NGOs mit ausschließenden ACLs noch besser und sicherer arbeiten können. Ich melde mich gleich drüben an und gebe dir sehr gerne ein :+1:

Dank & Gruß,
Regina

Zur Info: Das Core Team hat da eine Aufwandsschätzung von 40 Stunden gemacht und sucht Funding - falls da jemand etwas dazu beitragen kann/möchte. Jemand anders hat schon 10 Stunden zugesagt, beo 20 würde das Core Team wohl anfangen daran zu arbeiten.

Ja, habe das auch gelesen.
Wieviel Euro bedeuten denn 10 Stunden konkret?

Gruß von Regina

Offiziell heißt es:

We charge a flat rate of $175 per hour for all work, which is discounted to $125 per hour for members and partners.

Ich gehe also inkl. Steuern mal von rund 1500,- € aus, zumindest wenn man die Partnerrate nimmt (wäre sicher nach Abstimmung möglich).