Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m290_guko:learningunits:lu12:theorie:b_berechtigungen_rollenmodell [2025/11/16 18:25] – angelegt gkochmodul:m290_guko:learningunits:lu12:theorie:b_berechtigungen_rollenmodell [2025/11/16 22:19] (aktuell) gkoch
Zeile 1: Zeile 1:
-====== LU12b: Berechtigungskonzept Rollenmodell ======+====== LU12b: Datenschutz, Rollen Zugriffe im Notenbuch ======
  
 ===== Lernziele dieser Seite ===== ===== Lernziele dieser Seite =====
  
 Sie können … Sie können …
-  * erklären, was ein Berechtigungskonzept ist und warum es für DSG/DSGVO wichtig ist. 
-  * das Prinzip der minimalen Privilegien (Least Privilege / Need-to-know) anwenden. 
-  * Rollen und Rechte für typische Schulsysteme (WebUntis, Moodle, Notenbuch, etc.) beschreiben. 
  
-===== Was ist ein Berechtigungskonzept? =====+  * erklären, warum Noten besonders geschützt werden müssen. 
 +  * typische Rollen im Schul-Alltag (Lernende, Lehrperson, Verwaltung, IT) benennen und deren Zugriffsrechte beschreiben. 
 +  * das Prinzip der minimalen Privilegien (Need-to-know) anhand eines Notenbuch-Beispiels erklären. 
 +  * den Zusammenhang zwischen Rollen im Alltag und Rollen/Rechten in einer Datenbank (Vorbereitung auf LU12c) verstehen.
  
-Ein Berechtigungskonzept beschreibt: 
-  * **wer** (Rollen, Personen, Anwendungen) auf **welche** Daten und Systeme zugreifen darf mit **welchen Aktionen** (lesen, schreiben, löschen, ändern) 
  
-Es konzentriert sich auf interne Zugriffsrechte+===== 1. Datenschutz und Noten – warum das wichtig ist ===== 
-  * Wer darf welche Personendaten sehen? + 
-  * Wer darf Daten ändern oder löschen+Noten sind **Personendaten**, die direkt einer identifizierten Person zugeordnet werden können (Name, Klasse, Lernende). Sie gehören zu den **besonders schützenswerten Daten**, weil sie: 
-  * Wer darf neue Benutzer/Kurse/Klassen anlegen+ 
-→ Es ist eine technische & organisatorische Massnahme gemäss DSG/DSGVO (Art32 DSGVO: VertraulichkeitIntegrität, Verfügbarkeit).+  * Aussagen über Leistung und Verhalten einer Person machen, 
 +  * Einfluss auf Laufbahnentscheidungen, Lehre, Studium und Beruf haben, 
 +  * bei Missbrauch zu Benachteiligung oder Diskriminierung führen können. 
 + 
 +Deshalb verlangen **DSG (Schweiz)** und **DSGVO (EU)** unter anderem: 
 + 
 +  * Schutz vor unbefugtem Zugriff, 
 +  * Sicherstellung von Vertraulichkeit, Integrität und Verfügbarkeit, 
 +  * möglichst strikte Vergabe von Rechten: Nur wer Daten braucht, darf sie sehen oder bearbeiten. 
 + 
 +Im Modul 290 setzen Sie diese rechtlichen Anforderungen technisch um – z. B. mit Benutzerkonten, Rollen und Berechtigungen in einer Noten-Datenbank. 
 + 
 + 
 +===== 2. Rollen und Zugriffe im Schul-Alltag ===== 
 + 
 +Bevor wir in die Technik gehen, überlegen wir: **Wer darf in der Schule was mit Noten tun?** 
 + 
 +Typische Rollen: 
 + 
 +  * Lernende 
 +  * Lehrpersonen 
 +  * Verwaltung / Schulleitung 
 +  * IT-Verantwortliche 
 + 
 +Überlegen Sie sich für das **Notenbuch-Tool**: 
 + 
 +  * Wer darf **Noten erfassen und ändern**
 +  * Wer darf **alle Noten einsehen**
 +  * Wer darf **gar keine Noten** sehen? 
 + 
 +Eine mögliche Aufteilung: 
 + 
 +<WRAP center round box 80%> 
 +^ Rolle ^ Beispielperson ^ Typische Rechte im Notenbuch ^ 
 +| Lernende | z. B. Lernende der Klasse INF23a | sieht nur die eigenen Noten oder gar keine (je nach System) | 
 +| Lehrperson | zB. Guido Koch | erfasst und ändert Noten für "seine" Klassen/Fächer | 
 +| Verwaltung/Schulleitung | z. B. Studiengangsleitung | sieht alle Notenkann Auswertungen erstellen | 
 +| IT | zB. System-Administrator | technisch Zugriff auf Datenbank, aber organisatorisch zur Verschwiegenheit verpflichtet | 
 +</WRAP>
  
 Wichtig: Wichtig:
-Ein Berechtigungskonzept ersetzt keine anderen Sicherheitsmassnahmen wie Firewalls oder Verschlüsselung – es ergänzt sie. 
  
-===== Prinzip der minimalen Privilegien (Least Privilege / Need-to-know) =====+  * Nicht alle Personen brauchen die gleichen Rechte. 
 +  * Je sensibler die Daten, desto **enger** sollten die Rechte vergeben werden. 
 + 
 +Diese Überlegungen bilden die **fachliche Grundlage**, die wir später in MySQL als Rollen und Berechtigungen abbilden. 
 + 
 +===== 3. Prinzip der minimalen Privilegien (Need-to-know) ===== 
 + 
 +**Prinzip:**   
 +Jede Person (oder Anwendung) erhält nur die Rechte, die sie für ihre Aufgabe unbedingt benötigt – **nicht mehr**. 
 + 
 +Übertragen auf das Notenbuch:
  
-Idee+  * Lernende
-Jede Personjede Rollejede Anwendung erhält nur die Rechte, die sie für ihre Aufgabe unbedingt braucht – nicht mehr.+    * brauchen in der Regel **keine Rechte**Noten direkt zu verändern, 
 +    * können evtl. ihre eigenen Noten einsehen. 
 +  * Lehrpersonen: 
 +    * brauchen Rechte, Noten für ihre Klassen **zu erfassen und zu ändern**, 
 +    * müssen aber nicht zwingend alle Noten der ganzen Schule sehen. 
 +  * Verwaltung / Schulleitung: 
 +    * braucht Zugriff auf viele oder alle Noten, z. B. für Promotionsentscheide, 
 +    * sollte aber nicht willkürlich selbst Noten ändern. 
 +  * IT: 
 +    * braucht technische Rechte (Backups, Updates), 
 +    * sollte Noten zwar **schützen**, aber fachlich nicht bearbeiten.
  
-Warum ist das so wichtig? +Dieses Prinzip hilft:
-  * RisikominimierungWeniger Rechte → kleinere Angriffsfläche. +
-  * Schadensbegrenzung: Kompromittierter Account kann nur begrenzt Schaden anrichten. +
-  * Compliance: DSG/DSGVO verlangen diese Begrenzung. +
-  * Stabilität: Verhindert unbeabsichtigte Änderungen (z. B. versehentliches DROP TABLE).+
  
-Typische Fehler: +  Risiken zu reduzieren (weniger Konten mit "Allmacht"), 
-  Anwendung benutzt den root-Account der Datenbank. +  * Fehler zu begrenzen (wer wenig darf, kann wenig kaputtmachen)
-  * GRANT ALL PRIVILEGES auf alles„damit es läuft“. +  * DSG/DSGVO-Anforderungen zu erfüllen.
-  * Entwickler/*innen haben Vollzugriff auf Produktivdaten.+
  
 +Auf der nächsten Seite sehen Sie dann, wie dieses Prinzip in MySQL mit Rollen wie ''db_admin'' und ''lernende_role'' umgesetzt wird.
  
-===== Schritte zu einem Berechtigungskonzept ===== 
  
-==== Schritt 1: Bestandsaufnahme ====+===== 4. Von Personenrollen zu IT-Rollen =====
  
-  Welche Systeme/Applikationen gibt es? (z. B. WebUntis, Moodle, Absenzen-Tool, Notenbuch, Lohnliste) +In der Informatik sprechen wir auch von **Rollen**, meinen aber etwas Technisches:
-  Welche Daten werden dort verarbeitet? (Stundenpläne, Noten, Löhne, Absenzen …) +
-  Welche Rollen/Personen benötigen Zugriff? (Lehrpersonen, Lernende, VerwaltungIT)+
  
-==== Schritt 2Identitäten & Rechte definieren ====+  * Eine Rolle in der Schulez. B. //Lehrperson//, //Lernende//, //Verwaltung//
 +  * Eine Rolle in der IT / Datenbank: z. B. ''db_admin'', ''lernende_role''.
  
-  * Identitäten = Benutzerkonten (Menschen oder Anwendungen). +Die Idee ist gleich:
-  * Ähnliche Identitäten werden zu Rollen zusammengefasst.+
  
-Für jede Rolle definieren: +  Mehrere Personen können die **gleiche Rolle** haben. 
-  Darf die Rolle lesen (SELECT)? +  * Einer Rolle sind bestimmte **Rechte** zugeordnet.
-  Darf sie schreiben/ändern (INSERT/UPDATE)? +
-  Darf sie löschen (DELETE)? +
-  * Darf sie Struktur ändern (DDL: CREATE/ALTER/DROP)?+
  
-==== Schritt 3Rollen- und Rechtekonzept festlegen ====+Beispiel Notenbuch:
  
-Rollen basierend auf Aufgaben, z. B.+  * Fachliche RolleLehrperson → Rechte: Noten erfassen/ändern für ihre Klassen. 
-  * ''teacher_role'' +  * Technische DB-Rolle: ''db_admin'' → Rechte: alles auf ''noten_db.*''. 
-  * ''student_role'' +  * Technische DB-Rolle: ''lernende_role'' → Rechte: nur ''SELECT'' (Leserechte).
-  * ''admin_role''+
  
-Umsetzung des Need-to-know-Prinzips:+Die Schritte sind immer:
  
-  * Buchhaltung → sieht Finanzen, aber keine Noten. +  * Zuerst fachlich überlegen: **Wer soll was dürfen?** 
-  * Lehrperson → sieht Noten ihrer Lernenden, nicht die Löhne der Kolleg:innen. +  * Dann technisch umsetzen: **Welche Rolle bekommt welche Rechte?**
-  Lernende → sehen Inhalte auf Moodle, aber können diese aber nicht ändern.+
  
-==== Schritt 4: Implementierung & Tools ==== 
  
-Im RDBMS (MySQL): Benutzer, Rollen, GRANT/REVOKE (siehe Seite 3). 
  
-In Applikationen: Identity Access Management (IAM), z. B. Azure AD, Role Management in Moodle. -> mache das einfacher: gehe hier darauf ein, dass wir später ein Backendserver auf Nodejs und Express entwicklen, welcher entsprechende app-berechtigungen haben muss.+===== 5Erste technische Begriffe =====
  
 +Auf der nächsten Seite lernen Sie die konkreten MySQL-Befehle kennen:
  
-===== Beispiel: Rollen & Rechte an der Schule =====+  * ''CREATE ROLE'' – erstellt eine neue Rolle, 
 +  * ''GRANT'' – gibt einer Rolle oder einem Benutzer Rechte
 +  * ''CREATE USER'' – legt ein MySQL-Benutzerkonto an
 +  * ''SET DEFAULT ROLE'' – sorgt dafür, dass eine Rolle beim Login automatisch aktiv ist, 
 +  * ''SHOW GRANTS'' – zeigt, welche Rechte ein Benutzer effektiv hat.
  
-==== WebUntis – Stundenplanverwaltung ==== 
  
-=== Lehrpersonen: === +Sie müssen diese Befehle auf dieser Seite hier noch nicht im Detail verstehenWichtig ist:
-  * Zugriff auf eigene Lektionen, Klassen, Räume. +
-  * RechteSELECT auf Stundenplandaten für eigene Klasse / Fächer.+
  
-=== Schulleitung / Verwaltung / IT: === +  Eine Rolle bündelt Rechte
-  Erfassen, ändern, löschen von Stundenplänen, Räumen, Klassenzuteilungen+  * Ein Benutzer bekommt eine oder mehrere Rollen. 
-  * Rolle: webuntis_admin +  * Über diese Kombination wird gesteuert**wer was in der Noten-Datenbank tun darf**.
-  * Rechte (wahrscheinlich): SELECTINSERT, UPDATE, DELETE auf Stundenplan-Tabellen.+
  
  
  • modul/m290_guko/learningunits/lu12/theorie/b_berechtigungen_rollenmodell.1763313939.txt.gz
  • Zuletzt geändert: 2025/11/16 18:25
  • von gkoch