{
    "componentChunkName": "component---src-templates-plugin-docs-tsx",
    "path": "/plugins/scm-oauth2-plugin/docs/1.0.x/DATENSCHUTZ_FOLGEABSCHAETZUNG/",
    "result": {"data":{"plugin":{"name":"scm-oauth2-plugin","displayName":"OAuth2/OIDC","description":"Authentication for SCM-Manager using OAuth2/OIDC","author":"Thorsten Ludewig","documentation":[{"version":"1.0.x","languages":["DATENSCHUTZ_FOLGEABSCHAETZUNG","PROZESS_BESCHREIBUNG","COMPLIANCE_BERICHT","SOURCECODE_STATISTIK","javadoc"]}]},"navigation":{"nodes":[]},"versions":{"group":[{"fieldValue":"1.0.x"}]},"languages":{"group":[{"fieldValue":"COMPLIANCE_BERICHT"},{"fieldValue":"DATENSCHUTZ_FOLGEABSCHAETZUNG"},{"fieldValue":"PROZESS_BESCHREIBUNG"},{"fieldValue":"SOURCECODE_STATISTIK"},{"fieldValue":"javadoc"}]},"markdownRemark":{"html":"<h1 id=\"datenschutz-folgenabschätzung--scm-oauth2-plugin\" style=\"position:relative;\"><a href=\"#datenschutz-folgenabsch%C3%A4tzung--scm-oauth2-plugin\" aria-label=\"datenschutz folgenabschätzung  scm oauth2 plugin permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Datenschutz-Folgenabschätzung — scm-oauth2-plugin</h1>\n<p><strong>Dokumentversion:</strong> 1.1 · <strong>Stand:</strong> 17.08.2026 · <strong>Softwarestand:</strong> scm-oauth2-plugin 1.0.2\n<strong>Verarbeitung:</strong> Authentifizierung und Zugriffssteuerung für SCM-Manager über einen\nOAuth2/OIDC-Identity-Provider\n<strong>Rechtsgrundlage der Prüfung:</strong> Art. 35 DSGVO</p>\n<blockquote>\n<p><strong>Status dieses Dokuments:</strong> Bereitgestellt wird die <strong>technische Hälfte</strong> einer DSFA — Beschreibung\nder Verarbeitung, Risikobetrachtung aus Sicht der betroffenen Personen und die im Produkt\numgesetzten Abhilfemaßnahmen. Eine DSFA ist nach Art. 35 Abs. 1 DSGVO Aufgabe des\n<strong>Verantwortlichen</strong>; die in Abschnitt 7 offen gelassenen Felder (Rechtsgrundlage,\nErforderlichkeitsprüfung im konkreten Kontext, Fristen, Beteiligung des\nDatenschutzbeauftragten nach Art. 35 Abs. 2, ggf. Standpunkt der betroffenen Personen nach\nArt. 35 Abs. 9) sind dort auszufüllen. Kein Ersatz für Rechtsberatung.</p>\n</blockquote>\n<h2 id=\"1-schwellwertanalyse--ist-eine-dsfa-verpflichtend\" style=\"position:relative;\"><a href=\"#1-schwellwertanalyse--ist-eine-dsfa-verpflichtend\" aria-label=\"1 schwellwertanalyse  ist eine dsfa verpflichtend permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1. Schwellwertanalyse — ist eine DSFA verpflichtend?</h2>\n<table>\n<thead>\n<tr>\n<th>Prüfpunkt</th>\n<th>Ergebnis</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Systematische umfassende Bewertung persönlicher Aspekte, automatisierte Entscheidung mit erheblicher Auswirkung (Art. 35 Abs. 3 lit. a)</td>\n<td><strong>nein</strong> — kein Profiling, keine Bewertung von Verhalten oder Leistung; die einzige Automatik ist die Zuordnung von Zugriffsrechten anhand vorhandener Gruppenzugehörigkeiten</td>\n</tr>\n<tr>\n<td>Umfangreiche Verarbeitung besonderer Kategorien (lit. b)</td>\n<td><strong>nein</strong>, sofern der Gruppen-Claim keine Angaben nach Art. 9 transportiert (Bedingung, siehe Risiko <strong>RI-05</strong>)</td>\n</tr>\n<tr>\n<td>Systematische umfangreiche Überwachung öffentlich zugänglicher Bereiche (lit. c)</td>\n<td><strong>nein</strong></td>\n</tr>\n<tr>\n<td>Einsatz neuer Technologien mit hohem Risiko</td>\n<td><strong>nein</strong> — etablierte Standards (RFC 6749, 7636, 9700, OIDC Core)</td>\n</tr>\n<tr>\n<td>Kriterien der DSK-Liste („Muss-Liste\")</td>\n<td>keines der Regelbeispiele erfüllt; die Verarbeitung ist eine Zugangskontrolle im Rahmen der IT-Nutzung</td>\n</tr>\n<tr>\n<td>Betroffene Personen</td>\n<td>Beschäftigte bzw. berechtigte Nutzer der Instanz — abgrenzbarer, dem Verantwortlichen bekannter Personenkreis</td>\n</tr>\n</tbody>\n</table>\n<p><strong>Ergebnis:</strong> Eine DSFA ist nach hiesiger Einschätzung <strong>nicht zwingend erforderlich</strong>. Die\nVerarbeitung erfolgt jedoch im Beschäftigungskontext, betrifft alle Nutzer der Instanz und steuert\nZugriffsrechte auf Quellcode; die nachfolgende Betrachtung wird daher <strong>freiwillig</strong> durchgeführt\nund dient zugleich der Erfüllung der Rechenschaftspflicht (Art. 5 Abs. 2 DSGVO). Fällt die Prüfung\nin Abschnitt 7 beim Verantwortlichen anders aus (etwa wegen Art. 9-Bezug im Gruppen-Claim), ist sie\nals vollwertige DSFA fortzuschreiben.</p>\n<h2 id=\"2-systematische-beschreibung-der-verarbeitung-art-35-abs-7-lit-a\" style=\"position:relative;\"><a href=\"#2-systematische-beschreibung-der-verarbeitung-art-35-abs-7-lit-a\" aria-label=\"2 systematische beschreibung der verarbeitung art 35 abs 7 lit a permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2. Systematische Beschreibung der Verarbeitung (Art. 35 Abs. 7 lit. a)</h2>\n<p>Die vollständige technische Beschreibung ist ausgelagert:\n<strong><a href=\"/66f566365a7b7d96ac97a1fc2225bcc5/PROZESS_BESCHREIBUNG.md\">PROZESS_BESCHREIBUNG.md</a></strong>. Kurzfassung:</p>\n<table>\n<thead>\n<tr>\n<th>Merkmal</th>\n<th>Angabe</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Verarbeitungsvorgänge</td>\n<td>Anmeldung (Authorization Code Flow mit PKCE), Kontobereitstellung/-migration, Gruppen- und Rechtesynchronisation, Autorisierung, Abmeldung, Administration</td>\n</tr>\n<tr>\n<td>Datenkategorien</td>\n<td>Benutzerkennung, Anzeigename, E-Mail-Adresse, Gruppen-/Rollenzugehörigkeiten, technische Tokens, Anmeldezeitpunkte in Protokollen</td>\n</tr>\n<tr>\n<td>Betroffene Personen</td>\n<td>alle Nutzer der SCM-Manager-Instanz</td>\n</tr>\n<tr>\n<td>Verarbeitungsort</td>\n<td>ausschließlich die Instanz des Verantwortlichen; keine Übermittlung an den Hersteller, keine Telemetrie</td>\n</tr>\n<tr>\n<td>Empfänger</td>\n<td>ausschließlich der konfigurierte IdP</td>\n</tr>\n<tr>\n<td>Speicherdauer</td>\n<td>Konfiguration und Gruppenliste bis zur Änderung/Löschung; ID Token max. 12 h im Arbeitsspeicher; Anmeldevorgänge max. 10 min; Protokolle nach Konzept des Betreibers</td>\n</tr>\n<tr>\n<td>Automatisierte Einzelentscheidung</td>\n<td>Zuweisung/Entzug von Zugriffsrechten anhand der Gruppenzugehörigkeit (kein Fall des Art. 22 Abs. 1 nach hiesiger Einschätzung)</td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"3-erforderlichkeit-und-verhältnismäßigkeit-art-35-abs-7-lit-b\" style=\"position:relative;\"><a href=\"#3-erforderlichkeit-und-verh%C3%A4ltnism%C3%A4%C3%9Figkeit-art-35-abs-7-lit-b\" aria-label=\"3 erforderlichkeit und verhältnismäßigkeit art 35 abs 7 lit b permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>3. Erforderlichkeit und Verhältnismäßigkeit (Art. 35 Abs. 7 lit. b)</h2>\n<table>\n<thead>\n<tr>\n<th>Frage</th>\n<th>Bewertung</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Ist die Verarbeitung zur Zweckerreichung erforderlich?</td>\n<td>Ja. Ein Zugriff auf Repositories ohne Authentifizierung und Autorisierung ist nicht möglich; die verarbeiteten Daten sind das Minimum für Kontoidentität und Rechtezuordnung.</td>\n</tr>\n<tr>\n<td>Gibt es ein milderes Mittel?</td>\n<td>Die lokale Benutzerverwaltung wäre kein milderes Mittel: sie erfordert dieselben Daten, zusätzlich lokale Passwörter (eigenes Risiko) und verhindert den zentralen Rechteentzug beim Offboarding. SSO reduziert die Zahl der Stellen, an denen Anmeldedaten verarbeitet werden.</td>\n</tr>\n<tr>\n<td>Ist die Datenmenge angemessen?</td>\n<td>Grundsätzlich ja — mit <strong>Einschränkung</strong> bei Gruppen-/Rollenlisten, die über Zugriffsgruppen hinausgehen (Befund B-03, Risiko <strong>RI-05</strong>).</td>\n</tr>\n<tr>\n<td>Ist die Speicherdauer angemessen?</td>\n<td>Ja für alle flüchtigen Daten. <strong>Einschränkung</strong> bei der Gruppendatei nach Kontolöschung (Befund B-01, Risiko <strong>RI-04</strong>).</td>\n</tr>\n<tr>\n<td>Transparenz</td>\n<td>Der Anmeldevorgang ist für die betroffene Person sichtbar (Umleitung zum IdP, benannter Provider auf der Schaltfläche). Informationspflichten nach Art. 13 erfüllt der Verantwortliche.</td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"4-risikobetrachtung-art-35-abs-7-lit-c\" style=\"position:relative;\"><a href=\"#4-risikobetrachtung-art-35-abs-7-lit-c\" aria-label=\"4 risikobetrachtung art 35 abs 7 lit c permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>4. Risikobetrachtung (Art. 35 Abs. 7 lit. c)</h2>\n<p>Bewertet wird das Risiko <strong>für die Rechte und Freiheiten der betroffenen Personen</strong>, jeweils nach\nUmsetzung der im Produkt vorhandenen Maßnahmen (Restrisiko). Skala: gering / mittel / hoch.</p>\n<table>\n<thead>\n<tr>\n<th>ID</th>\n<th>Risiko / Schadensszenario</th>\n<th>Ursache</th>\n<th>Eintritt</th>\n<th>Schwere</th>\n<th>Restrisiko</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>RI-01</strong></td>\n<td>Fremdübernahme des Kontos: Angreifer verknüpft seine IdP-Identität mit der Sitzung der betroffenen Person (Login-CSRF) und handelt unter deren Namen</td>\n<td>manipulierter Rücksprung auf den Callback</td>\n<td>gering</td>\n<td>hoch</td>\n<td><strong>gering</strong></td>\n</tr>\n<tr>\n<td><strong>RI-02</strong></td>\n<td>Abfangen des Autorisierungscodes und Einlösung durch Dritte</td>\n<td>offener Redirect, Code-Interception</td>\n<td>gering</td>\n<td>hoch</td>\n<td><strong>gering</strong></td>\n</tr>\n<tr>\n<td><strong>RI-03</strong></td>\n<td>Unbefugte Rechteausweitung: eine Person erhält Administratorrechte und damit Zugriff auf fremden Quellcode</td>\n<td>fehlerhafte Gruppenpflege im IdP, kompromittiertes Konto mit Konfigurationsschreibrecht</td>\n<td>mittel</td>\n<td>hoch</td>\n<td><strong>mittel</strong></td>\n</tr>\n<tr>\n<td><strong>RI-04</strong></td>\n<td>Weiterverarbeitung nach Ausscheiden: Gruppenzugehörigkeiten bleiben nach Kontolöschung gespeichert</td>\n<td>keine Kaskadenlöschung der Datei je Benutzer</td>\n<td>hoch</td>\n<td>gering</td>\n<td><strong>mittel</strong></td>\n</tr>\n<tr>\n<td><strong>RI-05</strong></td>\n<td>Zweckentfremdung von Organisations- und Beschäftigungsmerkmalen, die über den Gruppen-Claim mitgeliefert werden (z. B. Fakultät, Beschäftigtenart, Standort); im Extremfall Merkmale nach Art. 9</td>\n<td>Gruppen-Claim des IdP nicht auf Zugriffsgruppen begrenzt</td>\n<td>mittel</td>\n<td>mittel</td>\n<td><strong>mittel</strong></td>\n</tr>\n<tr>\n<td><strong>RI-06</strong></td>\n<td>Offenlegung von Benutzerkennungen und Gruppennamen gegenüber Personen mit Log-Zugriff</td>\n<td>Protokollierung auf <code class=\"language-text\">INFO</code></td>\n<td>mittel</td>\n<td>gering</td>\n<td><strong>gering</strong></td>\n</tr>\n<tr>\n<td><strong>RI-07</strong></td>\n<td>Übernahme eines lokalen Kontos durch eine gleichnamige IdP-Identität</td>\n<td>Namenskollision zwischen lokaler und IdP-Kennung</td>\n<td>gering</td>\n<td>hoch</td>\n<td><strong>gering</strong></td>\n</tr>\n<tr>\n<td><strong>RI-08</strong></td>\n<td>Vertraulichkeitsverlust der Identitätsdaten auf dem Transportweg</td>\n<td>fehlende oder unwirksame TLS-Prüfung</td>\n<td>gering</td>\n<td>hoch</td>\n<td><strong>gering</strong></td>\n</tr>\n<tr>\n<td><strong>RI-09</strong></td>\n<td>Aussperrung berechtigter Personen (Verfügbarkeit als Betroffenenbelang)</td>\n<td>Ausfall des IdP bei aktiviertem <code class=\"language-text\">forceLogin</code>; nicht erreichbarer JWKS-Endpunkt bei vorhandenem ID Token (fail closed)</td>\n<td>mittel</td>\n<td>mittel</td>\n<td><strong>mittel</strong></td>\n</tr>\n<tr>\n<td><strong>RI-10</strong></td>\n<td>Offenlegung des Client-Secrets und damit Angriff auf die Kopplung</td>\n<td>Auslesen der Konfiguration oder eines Backups</td>\n<td>gering</td>\n<td>hoch</td>\n<td><strong>gering</strong></td>\n</tr>\n<tr>\n<td><strong>RI-11</strong></td>\n<td>Untergeschobenes oder wiederverwendetes Token: eine gefälschte oder aus einer anderen Sitzung stammende Identitätsaussage führt zur Anmeldung unter fremdem Namen oder zu fremden Rollen</td>\n<td>fehlende Signatur-, Aussteller- oder Nonce-Prüfung</td>\n<td>gering</td>\n<td>hoch</td>\n<td><strong>gering</strong></td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"5-abhilfemaßnahmen-art-35-abs-7-lit-d\" style=\"position:relative;\"><a href=\"#5-abhilfema%C3%9Fnahmen-art-35-abs-7-lit-d\" aria-label=\"5 abhilfemaßnahmen art 35 abs 7 lit d permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5. Abhilfemaßnahmen (Art. 35 Abs. 7 lit. d)</h2>\n<h3 id=\"51-im-produkt-umgesetzt\" style=\"position:relative;\"><a href=\"#51-im-produkt-umgesetzt\" aria-label=\"51 im produkt umgesetzt permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.1 Im Produkt umgesetzt</h3>\n<table>\n<thead>\n<tr>\n<th>Risiko</th>\n<th>Maßnahme im Code</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>RI-01</td>\n<td><code class=\"language-text\">state</code> wird an den Browser gebunden (<code class=\"language-text\">HttpOnly</code>-Cookie <code class=\"language-text\">X-SCM-OAuth2-State</code>), zeitkonstant verglichen und ist <strong>einmalig</strong> einlösbar; abweichende oder unbekannte Werte führen zu HTTP 401</td>\n</tr>\n<tr>\n<td>RI-02</td>\n<td>PKCE mit S256 — der Verifier verlässt den Server nie; Umleitungsziele werden auf instanzinterne Pfade begrenzt (<code class=\"language-text\">//host</code>, <code class=\"language-text\">/\\</code>, CR/LF werden abgewiesen); der Code wird ausschließlich Server-zu-Server eingelöst</td>\n</tr>\n<tr>\n<td>RI-03</td>\n<td>Rechtevergabe beschränkt auf die Einzelberechtigung <code class=\"language-text\">*</code> des betroffenen Benutzers; <strong>automatischer Entzug</strong>, sobald die Gruppe fehlt; Zugriff auf die Konfiguration nur mit dedizierter Berechtigung; Endpunkt-URLs auf <code class=\"language-text\">http</code>/<code class=\"language-text\">https</code> mit Host begrenzt</td>\n</tr>\n<tr>\n<td>RI-04</td>\n<td>Speicherstruktur ist gezielt löschbar (eine Datei je Benutzer, Dateiname = Kennung); flüchtige Speicher laufen selbsttätig ab (10 min / 12 h)</td>\n</tr>\n<tr>\n<td>RI-05</td>\n<td>Nur die konfigurierten Claims werden gelesen; der Rollenimport aus dem Access Token ist standardmäßig <strong>aus</strong></td>\n</tr>\n<tr>\n<td>RI-06</td>\n<td>Die E-Mail-Adresse wird nicht mehr protokolliert; bei einer ungültigen Adresse nennt die Meldung nur Benutzerkennung und Länge des Wertes</td>\n</tr>\n<tr>\n<td>RI-06</td>\n<td>Tokens, <code class=\"language-text\">code</code>, <code class=\"language-text\">state</code>, Verifier und Secret werden nie protokolliert; IdP-Fehlertexte gelangen nicht zum Browser</td>\n</tr>\n<tr>\n<td>RI-07</td>\n<td>Konten mit lokalem Passwort werden <strong>nicht</strong> übernommen, solange <code class=\"language-text\">migrateLocalUsers</code> nicht ausdrücklich gesetzt ist; bei Übernahme wird das lokale Passwort entfernt, damit kein zweiter Zugangsweg bestehen bleibt</td>\n</tr>\n<tr>\n<td>RI-08</td>\n<td>TLS-Zertifikatsprüfung im Produktivbetrieb immer aktiv (Abschaltung nur in der Entwicklungs-Stage)</td>\n</tr>\n<tr>\n<td>RI-09</td>\n<td><code class=\"language-text\">forceLogin</code> ist standardmäßig <strong>aus</strong>, die klassische Anmeldung bleibt damit als Rückfallweg verfügbar; die Abmeldung funktioniert auch ohne verfügbares ID Token</td>\n</tr>\n<tr>\n<td>RI-10</td>\n<td>Client-Secret wird verschlüsselt gespeichert, von der API nie ausgeliefert und bei leerer Eingabe unverändert beibehalten</td>\n</tr>\n<tr>\n<td>RI-11</td>\n<td>Signatur des ID Tokens wird gegen den JWKS des IdP bzw. das Client-Secret geprüft, <code class=\"language-text\">alg: none</code> und unbekannte Verfahren werden abgewiesen, der Algorithmus bestimmt den Schlüsseltyp; zusätzlich werden <code class=\"language-text\">iss</code>, <code class=\"language-text\">aud</code>/<code class=\"language-text\">azp</code>, Laufzeit und der Nonce dieser Anmeldung geprüft. Rollen werden nur aus einem geprüften Access Token übernommen. Ein vorhandenes, aber ungültiges ID Token bricht die Anmeldung ab.</td>\n</tr>\n</tbody>\n</table>\n<p>Die Wirksamkeit ist durch gezielte Tests belegt (u. a. fehlendes/abweichendes <code class=\"language-text\">state</code>-Cookie,\nWiederverwendung eines <code class=\"language-text\">state</code>, Umleitung auf einen Fremdhost, gefälschtes Access-Token-Cookie,\nAblehnung lokaler Konten, Geheimnisbehandlung) — siehe\n<a href=\"/827c0d00cff80905f727e603ab2c0778/SOURCECODE_STATISTIK.md\">SOURCECODE_STATISTIK.md</a>.</p>\n<h3 id=\"52-vom-verantwortlichen-umzusetzen\" style=\"position:relative;\"><a href=\"#52-vom-verantwortlichen-umzusetzen\" aria-label=\"52 vom verantwortlichen umzusetzen permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.2 Vom Verantwortlichen umzusetzen</h3>\n<table>\n<thead>\n<tr>\n<th>Risiko</th>\n<th>Erforderliche Maßnahme</th>\n<th>Priorität</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>RI-04</td>\n<td>Löschung von <code class=\"language-text\">var/data/oauth2Groups/&lt;kennung>.xml</code> in den Offboarding-Prozess aufnehmen; Umsetzung einer automatischen Löschung im Plugin anstoßen (Befund B-01)</td>\n<td>hoch</td>\n</tr>\n<tr>\n<td>RI-05</td>\n<td>Gruppen-/Rollen-Claim im IdP auf die für SCM-Manager erforderlichen Gruppen begrenzen (eigener Client-Scope bzw. gefilterter Mapper); prüfen, ob <code class=\"language-text\">importRealmRoles</code> benötigt wird (Befund B-03)</td>\n<td>hoch</td>\n</tr>\n<tr>\n<td>RI-03</td>\n<td><code class=\"language-text\">configuration:write:oauth2</code> wie ein Administratorrecht behandeln; Änderungen an der Admin-Gruppe im IdP der Änderungskontrolle unterwerfen</td>\n<td>hoch</td>\n</tr>\n<tr>\n<td>RI-06</td>\n<td>Log-Level, Zugriff auf Protokolldateien und Aufbewahrungsfrist festlegen</td>\n<td>mittel</td>\n</tr>\n<tr>\n<td>RI-11</td>\n<td>Discovery-URL verwenden oder <code class=\"language-text\">jwksUrl</code> konfigurieren, damit die Tokenprüfung greifen kann; Warnungen des Plugins zur fehlenden Schlüsselquelle auswerten</td>\n<td>hoch</td>\n</tr>\n<tr>\n<td>RI-09</td>\n<td>Notfallzugang ohne SSO vorhalten (lokales Administratorkonto), Verfügbarkeit von IdP und JWKS-Endpunkt im Notfallkonzept berücksichtigen</td>\n<td>mittel</td>\n</tr>\n<tr>\n<td>RI-08</td>\n<td>Produktivsysteme nie in der Entwicklungs-Stage betreiben; Zertifikatsverwaltung des IdP prüfen</td>\n<td>mittel</td>\n</tr>\n<tr>\n<td>RI-10</td>\n<td>Zugriffsschutz auf das Heimatverzeichnis und die Backups; Secret bei Verdacht im IdP rotieren</td>\n<td>mittel</td>\n</tr>\n<tr>\n<td>alle</td>\n<td>Informationspflichten nach Art. 13, Eintrag im Verzeichnis nach Art. 30, ggf. Beteiligung des Betriebs-/Personalrats (in Deutschland regelmäßig § 87 Abs. 1 Nr. 6 BetrVG bzw. landesrechtliche Entsprechung)</td>\n<td>hoch</td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"6-bewertung-des-restrisikos\" style=\"position:relative;\"><a href=\"#6-bewertung-des-restrisikos\" aria-label=\"6 bewertung des restrisikos permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>6. Bewertung des Restrisikos</h2>\n<p>Nach Umsetzung der Maßnahmen aus 5.1 und 5.2 verbleiben <strong>keine hohen Risiken</strong>. Die drei\nmittleren Restrisiken (RI-03, RI-04, RI-05) sind sämtlich durch Konfiguration und\nBetriebsorganisation beherrschbar; RI-04 und RI-05 werden mit den Befunden B-01 und B-03\nadressiert.</p>\n<p>Gegenüber Version 1.0 dieses Dokuments ist RI-11 (untergeschobene Tokens) neu aufgenommen und\nunmittelbar auf <strong>gering</strong> gesenkt, weil die Tokenprüfung in 1.0.2 implementiert wurde; RI-06 ist\ndurch den Verzicht auf die Protokollierung der E-Mail-Adresse weiter reduziert. Voraussetzung für\ndie Wirksamkeit der Tokenprüfung ist eine erreichbare Schlüsselquelle (Discovery-URL oder\n<code class=\"language-text\">jwksUrl</code>).</p>\n<p>Eine <strong>vorherige Konsultation der Aufsichtsbehörde nach Art. 36 DSGVO</strong> ist danach nicht\nerforderlich.</p>\n<h2 id=\"7-auszufüllen-durch-den-verantwortlichen\" style=\"position:relative;\"><a href=\"#7-auszuf%C3%BCllen-durch-den-verantwortlichen\" aria-label=\"7 auszufüllen durch den verantwortlichen permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>7. Auszufüllen durch den Verantwortlichen</h2>\n<table>\n<thead>\n<tr>\n<th>Feld</th>\n<th>Eintrag</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Verantwortlicher (Name, Anschrift, Kontakt)</td>\n<td></td>\n</tr>\n<tr>\n<td>Datenschutzbeauftragte(r), Datum der Beteiligung nach Art. 35 Abs. 2</td>\n<td></td>\n</tr>\n<tr>\n<td>Bezeichnung der Instanz, Basis-URL</td>\n<td></td>\n</tr>\n<tr>\n<td>Identity Provider (Produkt, Betreiber, Standort der Verarbeitung)</td>\n<td></td>\n</tr>\n<tr>\n<td>Drittlandbezug, Übermittlungsgrundlage nach Kapitel V</td>\n<td></td>\n</tr>\n<tr>\n<td>Rechtsgrundlage der Verarbeitung (Art. 6 Abs. 1; ggf. § 26 BDSG / landesrechtliche Norm)</td>\n<td></td>\n</tr>\n<tr>\n<td>Kreis der betroffenen Personen, Anzahl</td>\n<td></td>\n</tr>\n<tr>\n<td>Löschfristen: Benutzerkonto, Gruppendatei, Protokolldateien</td>\n<td></td>\n</tr>\n<tr>\n<td>Beteiligung des Betriebs-/Personalrats</td>\n<td></td>\n</tr>\n<tr>\n<td>Standpunkt der betroffenen Personen (Art. 35 Abs. 9), soweit eingeholt</td>\n<td></td>\n</tr>\n<tr>\n<td>Ergebnis der Erforderlichkeitsprüfung im konkreten Kontext</td>\n<td></td>\n</tr>\n<tr>\n<td>Abweichungen von Abschnitt 1 (Schwellwert) mit Begründung</td>\n<td></td>\n</tr>\n<tr>\n<td>Freigabe (Name, Funktion, Datum)</td>\n<td></td>\n</tr>\n<tr>\n<td>Termin der Überprüfung (Art. 35 Abs. 11)</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"8-überprüfung\" style=\"position:relative;\"><a href=\"#8-%C3%BCberpr%C3%BCfung\" aria-label=\"8 überprüfung permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>8. Überprüfung</h2>\n<p>Die Abschätzung ist fortzuschreiben bei:</p>\n<ul>\n<li>Änderung der gelesenen Claims oder der Speicherorte (siehe <a href=\"../CHANGELOG.md\">CHANGELOG</a>)</li>\n<li>Wechsel des Signaturverfahrens des IdP oder Wegfall der Schlüsselquelle (<code class=\"language-text\">jwksUrl</code>)</li>\n<li>Aktivierung von <code class=\"language-text\">forceLogin</code>, <code class=\"language-text\">ssoLogout</code>, <code class=\"language-text\">importRealmRoles</code> oder <code class=\"language-text\">migrateLocalUsers</code></li>\n<li>Wechsel des Identity Providers oder Verlagerung seiner Verarbeitung in ein Drittland</li>\n<li>Erweiterung des Gruppen-/Rollen-Claims im IdP</li>\n<li>mindestens jedoch alle zwei Jahre</li>\n</ul>\n<hr>\n<p><strong>Weiterführend:</strong> <a href=\"/66f566365a7b7d96ac97a1fc2225bcc5/PROZESS_BESCHREIBUNG.md\">Prozessbeschreibung</a> ·\n<a href=\"/ecfb48f1b860871431a8d921521c8fd4/COMPLIANCE_BERICHT.md\">Compliance-Bericht</a> · <a href=\"/827c0d00cff80905f727e603ab2c0778/SOURCECODE_STATISTIK.md\">Sourcecode-Statistik</a></p>","description":"Datenschutz-Folgenabschätzung — scm-oauth2-plugin Dokumentversion: 1.1 · Stand: 17.08.2026 · Softwarestand: scm-oauth2-plugin 1.0.2\nVerarbeitung…","tableOfContents":"<ul>\n<li>\n<p><a href=\"#datenschutz-folgenabsch%C3%A4tzung--scm-oauth2-plugin\">Datenschutz-Folgenabschätzung — scm-oauth2-plugin</a></p>\n<ul>\n<li>\n<p><a href=\"#1-schwellwertanalyse--ist-eine-dsfa-verpflichtend\">1. Schwellwertanalyse — ist eine DSFA verpflichtend?</a></p>\n</li>\n<li>\n<p><a href=\"#2-systematische-beschreibung-der-verarbeitung-art-35-abs-7-lit-a\">2. Systematische Beschreibung der Verarbeitung (Art. 35 Abs. 7 lit. a)</a></p>\n</li>\n<li>\n<p><a href=\"#3-erforderlichkeit-und-verh%C3%A4ltnism%C3%A4%C3%9Figkeit-art-35-abs-7-lit-b\">3. Erforderlichkeit und Verhältnismäßigkeit (Art. 35 Abs. 7 lit. b)</a></p>\n</li>\n<li>\n<p><a href=\"#4-risikobetrachtung-art-35-abs-7-lit-c\">4. Risikobetrachtung (Art. 35 Abs. 7 lit. c)</a></p>\n</li>\n<li>\n<p><a href=\"#5-abhilfema%C3%9Fnahmen-art-35-abs-7-lit-d\">5. Abhilfemaßnahmen (Art. 35 Abs. 7 lit. d)</a></p>\n<ul>\n<li><a href=\"#51-im-produkt-umgesetzt\">5.1 Im Produkt umgesetzt</a></li>\n<li><a href=\"#52-vom-verantwortlichen-umzusetzen\">5.2 Vom Verantwortlichen umzusetzen</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"#6-bewertung-des-restrisikos\">6. Bewertung des Restrisikos</a></p>\n</li>\n<li>\n<p><a href=\"#7-auszuf%C3%BCllen-durch-den-verantwortlichen\">7. Auszufüllen durch den Verantwortlichen</a></p>\n</li>\n<li>\n<p><a href=\"#8-%C3%BCberpr%C3%BCfung\">8. Überprüfung</a></p>\n</li>\n</ul>\n</li>\n</ul>","frontmatter":{"title":"","subtitle":null,"description":null,"keywords":null,"displayToc":null,"image":null}}},"pageContext":{"name":"scm-oauth2-plugin","slug":"/plugins/scm-oauth2-plugin/docs/1.0.x/DATENSCHUTZ_FOLGEABSCHAETZUNG/","version":"1.0.x","latestVersion":"1.0.x","latestPageVersion":"1.0.x","language":"DATENSCHUTZ_FOLGEABSCHAETZUNG","canonicalPath":"/plugins/scm-oauth2-plugin/docs/latest/DATENSCHUTZ_FOLGEABSCHAETZUNG/","latestRootPath":"/plugins/scm-oauth2-plugin/docs/1.0.x/DATENSCHUTZ_FOLGEABSCHAETZUNG/"}},
    "staticQueryHashes": ["1973669194","2742214048","2956773653","2957019495","698804963"]}