Identity & Acess Management (IAM) in Databricks: Sicheheit richtig umsetzen

Identity & Acess Management (IAM) in Databricks: Sicheheit richtig umsetzen

Identity & Acess Management (IAM) in Databricks: Sicheheit richtig umsetzen

15.03.2025
15.03.2025
15.03.2025
Data Lakehouse
Data Lakehouse
Data Lakehouse

Identity & Access Management (IAM) ist ein zentraler Bestandteil der Sicherheit und Compliance in Databricks. Ohne eine durchdachte Zugriffskontrolle können Datenlecks, unautorisierte Änderungen und Compliance-Verstöße entstehen.

Warum ist IAM in Databricks so wichtig?

Databricks wird oft als zentrale Plattform für Data Engineering, Analytics und Machine Learning genutzt. Damit haben verschiedene Teams Zugriff auf dieselben Daten, was klare Zugriffsregeln erfordert:
Datenwissenschaftler brauchen Zugriff auf explorative Datensätze, aber nicht auf produktive Systeme
Data Engineers müssen Pipelines verwalten, aber nicht zwingend ML-Modelle trainieren
Analysten sollen Berichte erstellen, aber keine Cluster starten

Ohne klare IAM-Regeln kann dies schnell zu ungewollten Zugriffen, höheren Kosten und Sicherheitsrisiken führen.

Wie funktioniert IAM in Databricks?

Databricks nutzt ein mehrschichtiges IAM-Modell, das sich auf folgende Komponenten stützt:
🔹 Benutzer & Rollen: Individuelle Accounts, Gruppen und Service-Principals
🔹 Unity Catalog: Detaillierte Berechtigungen für Tabellen und Datenquellen
🔹 Workspace-Berechtigungen: Steuerung des Zugriffs auf Notebooks, Cluster & Workflows
🔹 Netzwerksicherheit & Verschlüsselung: Schutz der Daten in der Cloud

In diesem Artikel zeigen wir Best Practices, Strategien und häufige Fehler, damit dein Databricks-Workspace sicher und regelkonform bleibt.


Benutzer- & Rollenverwaltung

Databricks ermöglicht die Verwaltung von Benutzern und Zugriffsrechten über eine Kombination aus Benutzerkonten, Gruppen und Service-Principals. Eine klare Struktur sorgt für sicheren, skalierbaren und effizienten Zugriff auf Daten und Ressourcen.

1 Benutzer, Gruppen & Service-Principals

🔹 Benutzer

Ein Benutzer ist ein individueller Account, der sich bei Databricks anmeldet. Jede Person in deiner Organisation benötigt ein eigenes Konto, um Aktionen innerhalb der Plattform durchzuführen.

👉 Best Practice:
✅ Nutze Single Sign-On (SSO) über einen Identitätsanbieter (Azure AD, Okta, AWS IAM)
✅ Vermeide geteilte Konten, um Sicherheitsrisiken zu minimieren

🔹 Gruppen

Gruppen sind Sammlungen von Benutzern, denen gemeinsame Berechtigungen zugewiesen werden. Dies erleichtert die Verwaltung, da Rechte nicht pro Benutzer, sondern pro Gruppe definiert werden können.

👉 Beispiel für eine empfohlene Gruppenstruktur:
data_engineers → Zugriff auf Pipelines & Cluster
data_scientists → Zugriff auf ML-Modelle & explorative Daten
analysts → Zugriff auf Dashboards & Berichte
admins → Vollzugriff auf Databricks

🔹 Service-Principals

Service-Principals sind maschinelle Benutzerkonten, die für API-Aufrufe oder Automatisierungen genutzt werden. Sie sind ideal für CI/CD-Pipelines, Data Pipelines oder externe Anwendungen, die mit Databricks interagieren.

👉 Best Practice:
Eigene Service-Principals pro Anwendung verwenden
Minimale Berechtigungen für jeden Service-Principal setzen

2 SCIM-Integration für automatische Benutzerverwaltung

SCIM (System for Cross-domain Identity Management) ermöglicht die automatische Verwaltung von Benutzern und Gruppen in Databricks, indem es mit einem Identitätsanbieter (Azure AD, Okta, etc.) synchronisiert wird.

Vorteile von SCIM:

🔹 Automatische Benutzeranlage & -löschung
🔹 Synchronisierung von Gruppen & Rollen
🔹 Reduzierung des manuellen Verwaltungsaufwands

📌 Beispiel: Benutzer über SCIM mit Azure AD synchronisieren
1️⃣ SCIM-Token in Databricks generieren
2️⃣ Azure AD mit Databricks SCIM-Endpoint verknüpfen
3️⃣ Automatische Synchronisierung aktivieren

👉 Best Practice:
SCIM aktivieren, um Benutzerzugriffe immer aktuell zu halten
Offboarding-Prozesse automatisieren, damit ehemalige Mitarbeiter keinen Zugriff mehr haben

3 Zugriffskontrolle mit Gruppen & Rollen kombinieren

Der Schlüssel zu einer sicheren und skalierbaren IAM-Strategie in Databricks ist die Kombination aus:
Benutzerverwaltung über SCIM
Berechtigungen über Gruppen steuern
Service-Principals für Automatisierungen nutzen

So bleibt dein Workspace effizient verwaltbar, sicher und regelkonform.


Zugriffskontrolle mit Unity Catalog & Workspace-Permissions

Die Zugriffskontrolle in Databricks basiert auf zwei zentralen Mechanismen:

1️⃣ Unity Catalog → Steuerung des Zugriffs auf Tabellen, Datenbanken und andere Datenquellen
2️⃣ Workspace-Permissions → Verwaltung des Zugriffs auf Notebooks, Cluster und Workflows

Durch die Kombination dieser beiden Methoden lässt sich ein granulares und sicheres Berechtigungsmodell für Databricks implementieren.

1 Unity Catalog: Feingranulare Zugriffskontrolle für Daten

Der Unity Catalog ist die empfohlene Lösung für die Verwaltung von Datenzugriffen in Databricks. Er ermöglicht eine detaillierte Zugriffskontrolle auf Tabellen, Views und Metadaten über Rollen & Berechtigungen.

🔹 Wie funktioniert der Unity Catalog?

Databricks nutzt ein drei Ebenen Modell für den Datenzugriff:

📌 Metastore → Verwaltung von Berechtigungen & Datenquellen
📌 Catalog → Sammlung von Datenbanken (Schemas)
📌 Schema (Datenbank) → Enthält Tabellen und Views

👉 Beispiel für die Struktur:

Metastore
 ├── Sales_Catalog
 ├── sales_data (Schema)
 ├── transactions (Table)
 ├── customers (Table)
 ├── Finance_Catalog
 ├── finance_data (Schema)
 ├── revenue (Table)
 ├── expenses (Table)

🔹 Berechtigungen im Unity Catalog setzen

Rollenbasierte Zugriffskontrolle (RBAC) erlaubt die Definition von feingranularen Zugriffsrechten auf verschiedene Ebenen.

📌 Wichtiger Hinweis:
Damit Nutzer eine Tabelle lesen können, benötigen sie zusätzlich das USE-Recht auf den übergeordneten Catalog und das Schema. Ohne diese Rechte funktioniert SELECT auf Tabellenebene nicht.

📌 Beispiel: Zugriff auf eine Tabelle gewähren

GRANT USE CATALOG sales_catalog TO group data_analysts;
GRANT USE SCHEMA sales_catalog.sales_data TO group data_analysts;
GRANT SELECT ON TABLE sales_catalog.sales_data.transactions TO group data_analysts;

📌 Beispiel: Eine neue Datenbank anlegen & Berechtigungen setzen

CREATE SCHEMA finance_catalog.finance_data;
GRANT USE CATALOG finance_catalog TO group finance_team;
GRANT USE SCHEMA finance_catalog.finance_data TO group finance_team;
GRANT SELECT ON TABLE finance_catalog.finance_data.revenue TO group finance_team;

👉 Best Practices für Unity Catalog:
Least Privilege Prinzip – Nur die notwendigen Berechtigungen vergeben
Gruppen statt Einzelbenutzer nutzen – Erleichtert die Verwaltung
Metastore zentralisieren – Einheitliche Kontrolle über alle Datenquellen
USE-Berechtigungen nicht vergessen – Ohne sie funktionieren Tabellenrechte nicht

2 Workspace-Permissions: Zugriff auf Notebooks, Cluster & Jobs steuern

Neben Datenzugriffen müssen auch Workspaces, Cluster und Workflows abgesichert werden.

🔹 Berechtigungen für Workspace-Objekte

Databricks bietet Zugriffskontrollen für:

Notebooks & Repositories → Steuerung, wer lesen, schreiben oder ausführen darf
Cluster & Pools → Kontrolle über die Nutzung und Erstellung von Clustern
Jobs & Workflows → Einschränkung, wer Pipelines starten oder bearbeiten kann

📌 Beispiel: Notebook-Berechtigungen setzen

databricks permissions add --object "/Repos/ETL-Pipeline" --principal "data_engineers" --permission "CAN_EDIT"

📌 Beispiel: Cluster-Restriktionen setzen

{
  "cluster_permissions": [
    {
      "group": "data_scientists",
      "permission": "CAN_ATTACH_TO"
    }
  ]
}

👉 Best Practices für Workspace-Permissions:
Trenne Entwicklungs- und Produktionsumgebungen – Kein direkter Zugriff auf produktive Cluster
Verwende Gruppen für Berechtigungen – Keine individuellen Rechte vergeben
Beschränke Admin-Zugriffe – Nur wenige Nutzer mit Full Access

Fazit: Zugriffskontrolle richtig umsetzen

🔹 Unity Catalog für feingranularen Datenzugriff verwenden
🔹 USE-Berechtigungen für Catalog & Schema setzen
🔹 Workspace-Permissions für Kontrolle über Notebooks, Cluster & Workflows nutzen
🔹 RBAC & Least Privilege Prinzip einhalten

So bleibt dein Databricks-Workspace sicher & effizient verwaltbar. 🚀


Datensicherheit & Verschlüsselung

Datensicherheit ist ein zentrales Thema in Databricks, insbesondere für Unternehmen, die mit sensiblen oder regulierten Daten arbeiten. Ohne robuste Sicherheitsmechanismen kann es zu Datenlecks, Compliance-Verstößen oder unautorisierten Zugriffen kommen.

In diesem Kapitel betrachten wir die wichtigsten Best Practices für die Sicherheit deiner Daten in Databricks:

Verschlüsselung von Daten (at rest & in transit)
Netzwerksicherheit & Zugriffsbeschränkungen
Audit Logs & Überwachung

1 Verschlüsselung von Daten in Databricks

Databricks unterstützt standardmäßig eine mehrstufige Verschlüsselung:

🔹 Verschlüsselung at Rest (Speicherung)

Alle Daten, die in Databricks gespeichert werden, sind durch Cloud-native Verschlüsselung abgesichert:

Azure Databricks → Azure Storage Encryption mit Managed Keys oder Customer-Managed Keys (CMK)
AWS Databricks → Server-Side Encryption (SSE) mit AWS KMS oder benutzerdefinierten Schlüsseln
GCP Databricks → Google Cloud KMS für Verschlüsselung von Objektspeichern

📌 Best Practice:
Customer-Managed Keys (CMK) aktivieren, um maximale Kontrolle über die Verschlüsselung zu behalten
Delta Lake Checkpoint-Dateien verschlüsseln, um Metadaten-Sicherheit zu gewährleisten

🔹 Verschlüsselung in Transit (Datenübertragung)

Databricks nutzt TLS 1.2+, um Daten während der Übertragung zu verschlüsseln. Dies betrifft:

Datenübertragung zwischen Clustern und Storage (S3, ADLS, GCS)
Kommunikation zwischen Notebooks, Jobs und APIs
Verbindungen mit JDBC/ODBC-Clients

📌 Best Practice:
Nur verschlüsselte Verbindungen (SSL/TLS) zulassen
Private Endpoints nutzen, um Traffic über das öffentliche Internet zu vermeiden

2 Netzwerksicherheit & Zugriffsbeschränkungen

Ein weiterer Sicherheitsfaktor ist die Absicherung der Netzwerkverbindungen und des Zugriffs auf Databricks-Ressourcen.

🔹 IP-Zugriffslisten & Private Link

Standardmäßig ist Databricks über das Internet erreichbar, aber für erhöhte Sicherheit gibt es zwei empfohlene Methoden:

1️⃣ IP Access Lists → Beschränkung des Zugriffs auf bestimmte IP-Ranges
2️⃣ Private Link / Private Endpoints → Direkte Anbindung an Databricks ohne öffentlichen Traffic

📌 Best Practice:
IP-Restriktionen aktivieren, um ungewollte Zugriffe zu blockieren
Private Link verwenden, um Daten innerhalb des Cloud-Netzwerks zu halten

🔹 Cluster-Isolation & Firewall-Regeln

Ein Databricks-Cluster kann mit bestimmten Sicherheitsrichtlinien abgesichert werden:

No Public IPs → Clustern keine öffentliche IP-Adresse zuweisen
Secure Cluster Connectivity (SCC) → Verwaltungskonnektivität über Private Link
Firewalls & Security Groups nutzen, um den Zugriff zu kontrollieren

📌 Best Practice:
Restriktive Firewall-Regeln setzen, damit nur autorisierte Dienste miteinander kommunizieren
Cluster in Private Subnets platzieren, um sie von externem Zugriff abzuschotten

3 Audit Logs & Überwachung

Sicherheitslücken entstehen oft durch mangelnde Transparenz und fehlende Überwachung. Databricks bietet umfangreiche Logging- und Monitoring-Funktionen, um potenzielle Angriffe oder Fehlkonfigurationen zu erkennen.

🔹 Audit Logs in Databricks aktivieren

Databricks speichert detaillierte Logs zu:

Benutzeranmeldungen & Authentifizierungen
Cluster- und Job-Aktivitäten
Datenzugriff & SQL-Abfragen

📌 Best Practice:
Audit Logs an SIEM-Systeme (z. B. Splunk, Azure Sentinel) senden, um verdächtige Aktivitäten zu erkennen
SQL Query Logging aktivieren, um verdächtigen Datenzugriff zu überwachen

🔹 Monitoring mit Cloud-nativen Tools

Zusätzlich zu Databricks Audit Logs können Cloud-native Security-Tools genutzt werden:

AWS CloudTrail & GuardDuty → Überwachung von API-Aufrufen & verdächtigen Zugriffen
Azure Monitor & Sentinel → Log-Analyse & Bedrohungserkennung
Google Security Command Center → Automatische Bedrohungsanalysen für GCP

📌 Best Practice:
Alarme für verdächtige Aktivitäten setzen (z. B. zu viele fehlgeschlagene Anmeldungen)
Regelmäßige Audits durchführen, um Sicherheitslücken frühzeitig zu identifizieren

Fazit: Datensicherheit als Priorität

🔹 Daten immer verschlüsseln – sowohl at rest als auch in transit
🔹 Netzwerksicherheit durch Private Links & IP Access Lists erhöhen
🔹 Cluster-Sicherheit mit Firewall-Regeln & Secure Connectivity absichern
🔹 Audit Logs & Security Monitoring aktivieren, um verdächtige Aktivitäten zu erkennen

Mit diesen Maßnahmen bleibt dein Databricks-Workspace sicher & compliance-konform. 🚀


Automatisierung & Governance in IAM

Die Verwaltung von Identitäten, Rollen und Berechtigungen in Databricks kann bei großen Teams oder komplexen Datenumgebungen schnell unübersichtlich werden. Durch Automatisierung und Governance-Strategien lässt sich IAM effizient verwalten und Sicherheitslücken vermeiden.

In diesem Kapitel behandeln wir:

Automatisierte Bereitstellung von Benutzern & Gruppen
Rollenbasierte Zugriffskontrolle (RBAC) & Prinzipien der Berechtigungsvergabe
Überwachung & regelmäßige Audits zur Governance

1 Automatisierte Benutzer- und Gruppenverwaltung

Manuelles Anlegen und Verwalten von Benutzern und Gruppen kann fehleranfällig und zeitaufwendig sein. Daher empfiehlt sich eine automatisierte Provisionierung über SCIM (System for Cross-domain Identity Management) oder Identity Provider (IdP)-Integrationen.

🔹 SCIM für automatisierte Benutzerverwaltung

SCIM ermöglicht eine automatische Synchronisierung von Benutzern & Gruppen mit Azure AD, Okta oder anderen IdPs.

Automatische Benutzererstellung & -löschung
Synchronisation von Gruppen mit Berechtigungen
Deprovisionierung deaktivierter Benutzer

📌 Beispiel: SCIM-Integration mit Azure AD

databricks scim create-user --email "user@example.com" --display-name "Max Mustermann"
databricks scim add-user-to-group --user-id "12345" --group-id "67890"

📌 Best Practice:
SCIM mit einem zentralen Identity Provider (IdP) nutzen
Automatische Gruppen-Zuweisung aktivieren, um Berechtigungen zu standardisieren
Regelmäßige Synchronisierung mit dem IdP, um inaktive Benutzer zu entfernen

2 RBAC & Prinzipien der Berechtigungsvergabe

Die rollenbasierte Zugriffskontrolle (RBAC) ist das Herzstück von IAM in Databricks. Sie stellt sicher, dass Nutzer nur die Rechte erhalten, die sie wirklich benötigen.

🔹 Prinzipien der sicheren Berechtigungsvergabe

Least Privilege Prinzip → Nur minimale Rechte vergeben
Rollen an Gruppen statt an Einzelpersonen vergeben
Berechtigungen für Entwicklungs-, Test- und Produktionsumgebungen trennen

📌 Empfohlene Rollenstruktur für Databricks IAM:

Rolle

Berechtigungen

Beispielgruppe

Admins

Vollzugriff auf Databricks

databricks_admins

Data Engineers

Cluster- und Jobverwaltung

data_engineers

Data Analysts

Lese- & Schreibrechte auf Tabellen

data_analysts

Read-Only User

Nur Lesezugriff auf Daten

business_users

📌 Best Practice:
Nur Gruppenberechtigungen setzen, keine individuellen User-Rechte
Datenzugriff über Unity Catalog mit feingranularen Regeln steuern
Regelmäßige Überprüfung von Berechtigungen zur Risikominimierung

3 Überwachung & Audits für IAM-Governance

Die IAM-Konfiguration sollte regelmäßig überprüft werden, um Sicherheitslücken oder übermäßige Berechtigungen zu vermeiden.

🔹 Audit-Logging für IAM-Aktivitäten

Databricks speichert IAM-bezogene Ereignisse in Audit Logs, darunter:

Login-Versuche & fehlgeschlagene Authentifizierungen
Änderungen an Rollen & Berechtigungen
Gruppen- und Benutzeränderungen

📌 Best Practice:
Audit-Logs an ein SIEM-System weiterleiten (z. B. Splunk, Sentinel)
Regelmäßige Alerts für verdächtige Berechtigungsänderungen setzen

📌 Beispiel: Abfrage aller Änderungen an Berechtigungen in den letzten 7 Tagen

SELECT * FROM system.audit_logs 
WHERE event_type = 'permission_change' 
AND event_time > current_date - 7;

🔹 Regelmäßige Berechtigungs-Reviews (Access Reviews)

Alle 3-6 Monate Berechtigungen überprüfen
Inaktive Benutzer & unnötige Rollen entfernen
Least Privilege Prinzip konsequent durchsetzen

📌 Best Practice:
Automatisierte Reports für Berechtigungen erstellen
Rollen mit zu weitreichenden Rechten identifizieren & anpassen

Fazit: IAM effizient verwalten

🔹 SCIM für automatisierte Benutzer- & Gruppenverwaltung nutzen
🔹 RBAC mit Least Privilege Prinzip implementieren
🔹 Audit Logs & regelmäßige Access Reviews für Governance einsetzen

Mit diesen Maßnahmen bleibt dein IAM-Management sicher, effizient und skalierbar. 🚀


Fazit & nächste Schritte

Identity & Access Management (IAM) ist ein zentraler Bestandteil einer sicheren und skalierbaren Databricks-Umgebung. Ein solides Berechtigungskonzept sorgt nicht nur für Datenschutz & Compliance, sondern verhindert auch ungewollten Datenzugriff und Sicherheitsrisiken.

🔑 Wichtige Erkenntnisse aus diesem Artikel

Grundlagen von IAM in Databricks → Unity Catalog, Workspaces & Zugriffsebenen verstehen
Sichere Authentifizierung → Multi-Faktor-Authentifizierung & Single Sign-On nutzen
Feingranulare Zugriffskontrolle → RBAC & Least Privilege Prinzip umsetzen
Datensicherheit gewährleisten → Verschlüsselung, Netzwerksicherheit & Audit Logs aktivieren
Automatisierung & Governance → SCIM, Gruppenmanagement & regelmäßige Access Reviews durchführen

🚀 Nächste Schritte für eine sichere Databricks-Umgebung

🔹 IAM-Richtlinien definieren → Einheitliche Prozesse für Benutzer- & Rechteverwaltung festlegen
🔹 Automatisierung implementieren → SCIM & API-gestützte Berechtigungsverwaltung nutzen
🔹 Sicherheitsmonitoring aktivieren → Audit Logs regelmäßig auswerten & verdächtige Aktivitäten identifizieren
🔹 Berechtigungsreviews einführen → Least Privilege Prinzip alle 3-6 Monate überprüfen

Ein gut durchdachtes IAM-Konzept in Databricks sorgt für effiziente Zusammenarbeit, höchste Sicherheitsstandards und Compliance-Konformität. Unternehmen, die diese Best Practices umsetzen, können sich voll und ganz auf ihre datengetriebenen Entscheidungen konzentrieren – ohne Sicherheitsrisiken.

📢 Du willst noch tiefer in das Thema eintauchen?

➡ Lies unseren Artikel zu "Kostenkontrolle in Databricks", um finanzielle Überraschungen zu vermeiden.
➡ Oder entdecke die Best Practices für ETL-Prozesse mit Databricks & Apache Spark!

💬 Hast du Fragen oder möchtest du deine Databricks-Umgebung optimieren? Melde dich – ich helfe gerne! 😊

Andere Artikel

Sprechen wir Daten!

Sprechen wir Daten!

Sprechen wir Daten!