35 lines
1.8 KiB
SQL
35 lines
1.8 KiB
SQL
-- Teil D.6 Schritt 1 (Umsetzungsauftrag_Sonnet5.md): drei nie durchgesetzte
|
|
-- ("tote") Rollen entfernen, je nach Betreiberentscheidung. Der Betreiber
|
|
-- hat sich fuer alle drei fuer "Entfernen" statt "Ausimplementieren"
|
|
-- entschieden (Rueckfrage vom 2026-08-31):
|
|
--
|
|
-- * clipboard -- Clipboard bleibt ausschliesslich ueber das
|
|
-- host-globale hosts.clipboard_enabled
|
|
-- gesteuert (heutiges Verhalten, unveraendert).
|
|
-- * session_recording_view -- Sitzungs-Playback bleibt dauerhaft
|
|
-- ausschliesslich globalen Admins vorbehalten
|
|
-- (require_global_admin, unveraendert).
|
|
-- * admin_hostgroup -- keine delegierte Hostgruppen-Admin-Ebene;
|
|
-- es bleibt bei genau zwei Stufen (globaler
|
|
-- Admin vs. granulare Rollen ueber Gruppen).
|
|
--
|
|
-- Diese drei Rollen waren seit 0001_initial.sql vergebbar, aber kein
|
|
-- einziger Codepfad hat sie je geprueft (siehe D.1 im Umsetzungsauftrag) --
|
|
-- das Entfernen aendert daher am tatsaechlichen Verhalten NICHTS, schliesst
|
|
-- aber die falsche Sicherheitserwartung, dass eine Vergabe dieser Rollen
|
|
-- irgendeine Wirkung haette.
|
|
--
|
|
-- Reihenfolge wichtig: zuerst alle Vergaben dieser Rollen loeschen (FK
|
|
-- role_id -> roles(id) hat keine eigene ON DELETE-Klausel, siehe
|
|
-- 0001_initial.sql:88/0004_user_groups.sql:28), erst danach die
|
|
-- roles-Zeilen selbst.
|
|
|
|
DELETE FROM user_hostgroup_roles
|
|
WHERE role_id IN (SELECT id FROM roles WHERE name IN ('clipboard', 'session_recording_view', 'admin_hostgroup'));
|
|
|
|
DELETE FROM group_hostgroup_roles
|
|
WHERE role_id IN (SELECT id FROM roles WHERE name IN ('clipboard', 'session_recording_view', 'admin_hostgroup'));
|
|
|
|
DELETE FROM roles
|
|
WHERE name IN ('clipboard', 'session_recording_view', 'admin_hostgroup');
|