# Zugriffskontrolle

Wie der Zugriff auf Kundendaten kontrolliert wird.

## 1. Zweck

Sicherstellung, dass der Zugriff auf die Produktionsinfrastruktur und Kundendaten streng kontrolliert, zeitlich begrenzt, auditierbar und nur nach dem Kenntnisprinzip gewährt wird.

## 2. Geltungsbereich

Gilt für alle Teammitglieder von Cortena, Auftragnehmer und Dritte, die Zugriff auf Produktionssysteme benötigen, darunter:

- Kubernetes-Cluster (Rancher)
- Datenbanken (MongoDB)
- Objektspeicher (MinIO / S3)
- Monitoring- und Warnsysteme (Grafana, Sentry)
- CI/CD-Runner und Secrets
- Interne APIs und Dienste

## 3. Grundprinzipien

| Prinzip | Beschreibung |
| --- | --- |
| **Minimale Rechtevergabe** | Der Zugriff ist auf das für die jeweilige Aufgabe erforderliche Minimum beschränkt |
| **Just-in-Time-Zugriff** | Keine dauerhaften Berechtigungen · der Zugriff wird für jede Anfrage einzeln gewährt |
| **Doppelte Freigabe** | Jede Anfrage muss vom CTO oder CEO freigegeben werden |
| **Zeitlich begrenzt** | Jeder Zugriff läuft automatisch ab (Standard: 30 Tage) |
| **Vollständig auditierbar** | Jede Anfrage, Freigabe und Aufhebung wird in der Versionsverwaltung protokolliert |

Der direkte Zugriff auf Produktionssysteme ist ohne Abschluss dieses Prozesses nicht zulässig.

## 4. Prozess für Zugriffsanfragen

### 4.1 Anfrage einreichen

Teammitglieder, die Produktionszugriff benötigen, müssen:

1. Einen **Merge Request (MR)** im Repository `infrastructure` oder `ops` erstellen
2. In der MR-Beschreibung Folgendes angeben: Name und Rolle, benötigte Ressource(n), geschäftliche Begründung, beantragte Dauer (maximal 30 Tage) und Zugriffsumfang (zum Beispiel schreibgeschützt, bestimmte Collections)

### 4.2 Freigabe

- Der MR muss vom **CTO oder CEO** genehmigt werden, bevor Zugriff gewährt wird
- Ohne ausdrückliche schriftliche Genehmigung wird kein Zugriff eingerichtet
- Die Genehmigung wird in Git dokumentiert, sodass eine vollständig auditierbare Nachweiskette entsteht

### 4.3 Bereitstellung

Nach der Genehmigung wird der Zugriff automatisch über Ansible bereitgestellt:

- Der Benutzer wird zu OpenVPN hinzugefügt (sicherer interner Netzwerkzugriff)
- In Kubernetes wird eine RBAC-Rolle mit dem festgelegten Umfang zugewiesen
- Das Ablaufdatum wird im Zugriffsregister festgelegt

Die Zugriffsbereitstellung erfolgt stets automatisiert und versionskontrolliert, niemals manuell.

### 4.4 Überwachung

- Aktive Sitzungen werden über Grafana und OpenVPN-Protokolle überwacht
- Jede ungewöhnliche Aktivität löst eine interne Prüfung aus

### 4.5 Ablauf und Verlängerung

- Jeder Zugriff läuft nach Ablauf der genehmigten Dauer automatisch ab
- Verlängerungen erfordern einen **neuen MR und eine erneute Genehmigung**. Es gibt keine stillschweigenden Verlängerungen.
- Der CTO überprüft die Listen aktiver Zugriffe vierteljährlich, um sicherzustellen, dass keine veralteten Berechtigungen bestehen bleiben

### 4.6 Entzug

- Wird ein Sicherheitsrisiko festgestellt, kann der Zugriff über Ansible sofort entzogen werden
- Beim Entzug wird der Benutzer in einem einzigen automatisierten Vorgang aus allen Systemen entfernt
- Die vollständige Audit-Trail bleibt in Git erhalten

## 5. Beispiel für eine Zugriffsanfrage

```
Zugriffsanfrage: Fehlgeschlagenen Synchronisierungsauftrag untersuchen

- Name: [Name des Entwicklers], [Rolle]
- Ressource: MongoDB (Produktion), Grafana
- Grund: In Sentry gemeldeten fehlgeschlagenen Synchronisierungsauftrag untersuchen (Ticket Nr. 123)
- Dauer: 7 Tage
- Umfang: Schreibgeschützter Zugriff auf MongoDB-Collections · users und jobs

Genehmigung durch CTO und CEO angefordert
```

## 6. Rollen und Verantwortlichkeiten

| Rolle | Verantwortung |
| --- | --- |
| **CTO** | Verantwortet die Richtlinie zur Zugriffskontrolle, genehmigt Anfragen und überwacht die Sicherheit der Infrastruktur |
| **CEO** | Mitgenehmiger für Zugriffsanfragen, verantwortlich für Compliance-Auswirkungen |
| **Engineering** | Reicht Anfragen per MR ein, befolgt den Bereitstellungsprozess und meldet Auffälligkeiten |

## 7. Kontakt

- Sicherheit / Zugriffskontrolle: [compliance@cortena.ai](mailto:compliance@cortena.ai)
- Datenschutzbeauftragter / Datenschutz (DSGVO): [dpo@cortena.ai](mailto:dpo@cortena.ai)
