Matrix42: Berechtigungen nach Relevanz sortieren im „Objekte berechtigen“-Wizard

Vergleich der Berechtigungsansicht in Matrix42: Links die unsortierte, alphabetische Standardansicht und rechts die optimierte Ansicht mit Sortierung nach Relevanz.
Vorher/Nachher: Aus einer unübersichtlichen, alphabetischen Liste (links) wird durch die Anpassung eine klare, nach Relevanz sortierte Übersicht der Berechtigungen (rechts).

Das Zuweisen, Anpassen und Überprüfen von Berechtigungen ist eine zentrale Aufgabe in der Matrix42-Administration. Der Standard-Wizard „Objekte berechtigen“ bietet zwar eine umfassende Liste aller Configuration Items, doch die rein alphabetische Sortierung erschwert eine schnelle und gezielte Analyse. Kritische Berechtigungen wie Lösch- oder Schreibrechte können in der langen Liste untergehen, was die Administration unnötig erschwert.

In diesem Quick Win zeigen wir Ihnen, wie Sie diesen Prozess entscheidend verbessern können. Mit einer einfachen Anpassung im Layout Designer sorgen Sie dafür, dass die Berechtigungen nach ihrer Relevanz sortiert werden – die wichtigsten und kritischsten Rechte stehen damit immer ganz oben.

Die Herausforderung: Ineffiziente Analyse durch alphabetische Sortierung

In Matrix42 sind Berechtigungen an Benutzerrollen gekoppelt. Wenn eine administrierende Person die Rechte einer bestimmten Rolle – beispielsweise der „Einkaufsleitung“ – einsehen oder ändern möchte, navigiert sie über Administration → Sicherheit → Benutzerrollen zur entsprechenden Rolle und öffnet die Aktion „Objekte berechtigen“.

Das Problem wird hier schnell deutlich: Die Ansicht listet alle verfügbaren Configuration Items alphabetisch auf ⚠️! Um herauszufinden, für welche Objekte tatsächlich Lese-, Schreib-, Erstell- oder Löschrechte vergeben wurden, muss die gesamte Liste (oder alternativ ein separater Bericht) mühsam durchsucht werden. Eine effiziente Analyse oder Anpassung ist so kaum möglich.

Die Lösung: Schritt-für-Schritt zur relevanten Ansicht

Um die Ansicht aussagekräftiger zu gestalten, passen wir den Wizard so an, dass Einträge mit den höchsten Berechtigungen (z. B. Löschen) ganz oben erscheinen. Hierfür nutzen wir den integrierten Layout Designer und eine kleines JavaScript-Snippet.

  1. Layout Designer für den Wizard öffnen
    Navigieren Sie zur gewünschten Benutzerrolle und öffnen Sie den „Objekte berechtigen“-Wizard. Klicken Sie oben rechts auf das Drei-Punkte-Menü und wählen Sie die Aktion „Layout ändern“ aus. Matrix42 öffnet daraufhin den entsprechenden Dialog direkt im Layout Designer.
  2. Datenquelle der Listenansicht anpassen
    Im Layout Designer sehen Sie die Struktur des Wizards. Uns interessiert die Listenansicht, in der die Berechtigungen aufgelistet werden.
    • Klicken Sie auf das Steuerelement, das die Liste der Einträge („Entities“) darstellt.
    • Wählen Sie die Variable return.Entities für die Positionen der Liste aus.
    • Wechseln Sie im Eigenschaftsfenster in den „Erweiterten Modus“.
    • Hier können wir nun eine benutzerdefinierte Sortierlogik implementieren.
  3. Logik erstellen: „Permission Score“ und Sortierfunktion
    Das Ziel ist, jede Berechtigungsstufe mit einem numerischen Wert zu gewichten, um eine Rangfolge zu erstellen. Löschrechte sind kritischer als Leserechte und sollen daher einen höheren Wert erhalten.
    Dazu implementieren wir zwei kleine JavaScript-Funktionen:
    • Funktion 1 berechnet einen „Permission Score“: Sie prüft, welche Rechte (delete, create, write, read) für ein Objekt vergeben sind und summiert die entsprechenden, von uns definierten Werte (z. B. Delete = 7, Create = 4 etc.).
    • Funktion 2 sortiert die Liste: Sie nutzt den berechneten Score, um die Einträge absteigend anzuordnen, sodass der Eintrag mit dem höchsten Wert ganz oben steht.
  4. Änderungen publizieren und das Ergebnis prüfen
    Nachdem Sie die JavaScript-Logik eingefügt haben, speichern und publizieren Sie den geänderten Wizard. Wenn Sie nun den „Objekte berechtigen“-Dialog für eine Benutzerrolle erneut öffnen, greift die neue Logik sofort. Die Liste ist nicht mehr alphabetisch, sondern nach Relevanz sortiert.
/**
 * Calculates a numeric score for an entry based on its permissions.
 * Weights: FullAccess: 16, DeleteAccess: 7, CreateAccess: 4, WriteAccess: 2, ReadAccess: 1.
 * @param {object} entry - The entry to score.
 * @returns {number} - The calculated permission score.
 */
function calculatePermissionScore(entry) {
  const p = entry.Permission;
  if (!p) { return 0; }
  if (p.FullAccess) { return 16; }

  let score = 0;
  if (p.DeleteAccess) score += 7;
  if (p.CreateAccess) score += 4;
  if (p.WriteAccess) score += 2;
  if (p.ReadAccess) score += 1;
  return score;
}

/**
 * Sorts a list of entries in descending order based on a calculated permission score.
 * @param {object[]} entries - The array of entries to sort.
 * @returns {object[]} A new array with the entries sorted.
 */
function sortEntriesByPermissions(entries) {
  const sortedEntries = [...entries];
  sortedEntries.sort((a, b) => {
    const scoreA = calculatePermissionScore(a);
    const scoreB = calculatePermissionScore(b);
    return scoreB - scoreA; // Sort descending
  });
  return sortedEntries;
}

if (!$value) {
  return [];
}
return sortEntriesByPermissions($value);

Business-Nutzen: Der Mehrwert in der Praxis

Diese kleine Anpassung hat einen direkten und messbaren Mehrwert für die tägliche Arbeit mit Matrix42:

  • Effizientere Administration: Berechtigungen können deutlich schneller eingesehen, verändert oder entzogen werden, da die relevanten Einträge sofort sichtbar sind und nicht erst gesucht werden müssen.
  • Erhöhte Transparenz & Sicherheit: Kritische Berechtigungen wie Lösch- oder Vollzugriffe werden unmittelbar am Anfang der Liste angezeigt. Dies reduziert das Risiko, dass potenziell risikoreiche Rechte übersehen werden.
  • Vereinfachte Audits: Die regelmäßige Überprüfung von Benutzerrollen und ihren zugeordneten Rechten wird erheblich erleichtert. Der Fokus kann direkt auf die wichtigsten Berechtigungen gelegt werden, um Compliance-Prüfungen schneller durchzuführen.

Die Anpassung des „Objekte berechtigen“-Wizards ist ein perfektes Beispiel für einen Quick Win in Matrix42: Mit wenig Aufwand wird eine große Wirkung auf Effizienz und Transparenz im Berechtigungsmanagement erzielt. Anstatt sich durch alphabetische Listen zu kämpfen, erhält die Administration eine klare, nach Relevanz geordnete Übersicht, die hilft, fundierte und sichere Entscheidungen zu treffen.

Share the Post:
LinkedIn
XING
Facebook
Email

Aus gut wird großartig – sind Sie dabei?

Kleine Veränderungen zeigen bereits Wirkung. Stellen Sie sich vor, was möglich ist, wenn wir gemeinsam die großen Hebel in Bewegung setzen. Wir bringen Struktur in komplexe Abläufe, schaffen reibungslose Schnittstellen und geben Ihren Teams den Freiraum, den sie für Innovation und Wachstum brauchen.