Snowflake: Wie verhelfen mir Governance-Methoden zur Datensicherheit im Cloud-DWH?

Freitag, 11.2.2022

Snowflake: Wie verhelfen mir Governance-Methoden zur Datensicherheit im Cloud-DWH?

Wie kann ich bei der Nutzung eines Cloud-Data Warehouse (DWH) gewährleisten, dass meine Daten sicher sind? Teilweise muss dabei auf die Sicherheitsmechanismen vertraut werden, die der Service-Anbieter eingerichtet hat. Dennoch gibt es auch für jede:n Nutzer:in Handlungsmöglichkeiten, die vertrauensunabhängig die Datensicherheit erhöhen. Dazu gehören Data Governance-Methoden, deren Nutzung wir innerhalb von Snowflake vorstellen. Teil 3 unserer vierteiligen Blogreihe zu Snowflake.


 

Wie helfen governance-Methoden bei der datensicherheit im Cloud-dwh?

Selbstverständlich müssen personenbezogene Daten besonders sensibel verarbeitet und geschützt werden. Dies ist nicht nur aus rechtlichen Gründen notwendig, sondern auch um das Vertrauen der Kunden:innen in das eigene Unternehmen zu halten. Nicht anders verhält es sich bei Unternehmensdaten, die nicht personenbezogen, aber kritisch für den Erfolg sind. Natürlich bleibt die Schutzwürdigkeit weiterhin bestehen, wenn man sich dazu entschließt Daten in die Cloud zu geben.

Die Gründe für die Auslagerung der Datenspeicherung und Verarbeitung in die Cloud liegen vor allem in der Skalierbarkeit, dem geringen Wartungsaufwand und leistungsstarken Funktionen, welche durch Cloud-Native-DWH wie Snowflake möglich werden. Auf diese Faktoren sind wir bereits im ersten Blog-Beitrag dieser Reihe eingegangen. Nachdem wir im zweiten Beitrag bereits erläutert haben, welche Maßnahmen von Snowflake ergriffen werden, um die Sicherheit der Cloud zu gewährleisten und Handlungsempfehlungen ausgesprochen haben, wie man durch Zugriffsverwaltung auch die Sicherheit in der Cloud ausbauen kann, wollen wir nun darauf eingehen, wie gut durchdachtes Datenmanagement dazu beitragen kann, die Datensicherheit weiter zu erhöhen.

Dafür werden wir zum einen den Begriff Data Governance erläutern und zum anderen zeigen, wie Datensicherheit durch Richtlinien für Sichtbarkeit und Rückverfolgbarkeit ausgebaut werden kann. Im Zuge dessen werden wir die Data Governance Methoden, die von Snowflake bereitgestellt werden, erläutern und Empfehlungen dazu aussprechen, wie sie im Unternehmen sinnvoll eingesetzt werden können. Auch hier haben wir SQL-Statements für die Umsetzung von einigen Methoden eingefügt, um den individuellen Einsatz zu erleichtern.

 

Was ist Data Governance und wie kann es zur Datensicherheit beitragen?

Unter Data Governance versteht man alle Praktiken und Prozesse, die dazu beitragen, Datenbestände zu verwalten, um die Datenverfügbarkeit, Benutzerfreundlichkeit, Qualität, Integrität und Sicherheit zu erhöhen. Hier wollen wir uns auf Data Governance Maßnahmen konzentrieren, die zur Gewährleistung von Datensicherheit beitragen und damit sicherstellen, dass Datenschutz, Vertraulichkeit und angemessener Zugriff eingehalten werden.

Durch verschiedene Methoden kann sichergestellt werden, dass Informationen nicht in die falschen Hände geraten. In Abbildung 1 ist dargestellt, wie man Data Governance in drei Kategorien weiter untergliedern kann. Auf der einen Seite ist es für ein sinnvolles Datenmanagement wichtig, die eigenen Daten zu kennen und zu wissen, wo sie abgelegt worden sind. Zur Strukturierung kann zum Beispiel Objekt-Tagging eingesetzt werden. Außerdem ist es sinnvoll, sich ein strukturiertes Konzept für den Schutz der Daten zu überlegen, indem die Sichtbarkeit von Informationen so weit wie möglich eingeschränkt wird. So kann der potenzielle Datenverlust durch unvorsichtiges Handeln von Mitarbeiter:innen oder Kompromittierung eines Benutzerkontos minimiert werden. Durch zeilenbasierte Zugriffsrichtlinien, sowie dynamische Datenmaskierung und Tokenisierung kann an zentraler Stelle der Zugriff auf die Daten verwaltet und sinnvoll eingeschränkt werden. Schlussendlich ist auch die Überwachung des Datenzugriffs nicht zu vernachlässigen, um atypische Zugriffsmuster zu erkennen.

 

Abbildung 1: Überblick Data Governance

Abbildung1 - Überblick Data Governance

Um die Konzepte weiter zu veranschaulichen und die Anwendbarkeit für das eigene Unternehmen aufzuzeigen, wollen wir nun auf die einzelnen Methoden eingehen und Handlungsempfehlungen durch Beispiele weiter untermalen.

 

Kenne deine Daten

Um die eigenen Daten optimal zu schützen, ist es notwendig, sich zuerst bewusst zu machen, welche Informationen besonders schützenswert sind. Erst wenn klar ist, wo welche Daten liegen und welchen Wert sie für das Unternehmen besitzen, ist es effizient möglich, Maßnahmen in Kraft zu setzen, um diese zu schützen. In einer Zeit, in der immer mehr Daten erfasst und für potenzielle spätere Analysen gespeichert werden, ist es schwierig, den Überblick zu behalten. Data Governance Methoden wie Objekt-Tagging helfen in Snowflake einen besseren Durchblick zu schaffen und Struktur in die Datenlage zu bringen.

Objekt-Tagging

Beim Objekt-Tagging ist es möglich, an zentraler Stelle eigene Kennzeichnungen (Tags) zu erstellen, diese Tags Objekten zuzuordnen und damit die Objekte zu gruppieren. So ist es möglich im Nachhinein die Ressourcennutzung von Objektgruppen zu analysieren, aber auch die Nutzung sensibler Daten nachzuverfolgen. Mögliche Tags können zum Beispiel „Kostenstelle“ oder „sensible Daten“ sein. Bei der Zuordnung von einem Tag-Schlüssel zu einem Objekt ist es zudem möglich, dem Tag einen Zeichenfolgenwert hinzuzufügen. Beispielsweise kann somit eine Tabelle den Tag-Schlüssel „Kostenstelle: Vertrieb“ erhalten. Zu den markierungsfähigen Objekten zählen dabei unter anderem virtuelle Warehouses, Datenbanken, Schemata, Tabellen oder Spalten. Da es zwischen einigen Objekten eine eindeutige Hierarchie gibt (eine Tabelle ist immer einem Schema zugeordnet), werden Tags entlang dieser Hierarchie vererbt.

Abbildung 2: Beispiel für Objekt Tagging

Abbildung 2 – Beispiel für Objekt Tagging

Mithilfe der Tags ist es also möglich, Objekte zu gruppieren, um darauf aufbauend gezielte Zugriffsverwaltungsmaßnahmen aufzubauen und so den optimalen Schutz der eigenen Daten zu gewährleisten.

 

Beschütze deine Daten

Ein weiterer wichtiger Aspekt innerhalb der Datensicherheit ist die Datenmaskierung. Diese setzt den Gedanken von rollenbasierter Zugriffsverwaltung fort, jede:r Nutzer:in ausschließlich Zugriff auf die unmittelbar notwendigen Daten zu gewähren. Hierbei wird auf die Definition von Rollen zurückgegriffen, um Daten, die innerhalb einer Tabelle oder einer Ansicht angezeigt werden, anhand von Regeln für diese Nutzerrollen weiter einzuschränken. Alle Informationen die nach den Datenmaskierungsrichtlinien für eine Rolle als irrelevant eingestuft werden, werden lediglich maskiert dargestellt. Dabei lässt sich Datenmaskierung sowohl auf Zeilen einer Tabelle oder einer Ansicht wie auch auf ihren Spalten anwenden.

Um sinnvolle Regeln und Richtlinien festzulegen und damit die Daten zu schützen, ist es vorab wichtig, mit diesen vertraut zu sein. Durch die Klassifizierung von einzelnen Zeilen oder Spalten anhand ihres Vertraulichkeitsgrades oder durch Tagging, welche Informationen inhaltlich zusammen gehören, ist es einfacher, schützenswerte Informationen zu erkennen und den Zugriff sinnvoll einzuschränken. Datenmaskierung bietet dabei grundsätzlich einige Vorteile. Zum einen ist es möglich, geistiges Eigentum zu schützen und persönlich identifizierbare Informationen wie Gesundheitsdaten oder Finanzdaten bestmöglich abzusichern. Datenmaskierungsrichtlinien bieten zudem die Möglichkeit, den Zugriff auf Informationen an zentraler Stelle zu verwalten und falls nötig auch zu ändern. Zusätzlich können innerhalb von Snowflake die Datenmaskierungsrichtlinien unabhängig vom Datenbesitzer festgelegt werden, was es ermöglicht eine:n zentrale:n Zuständige:n für die Maskierung einzusetzen.

Es gibt eine Reihe von Anwendungsfällen, in denen wir Datenmaskierung als besonders empfehlenswert einstufen. Diese sind zum Beispiel:

  • Wenn es aufgrund von Datenschutzrichtlinien erforderlich ist, die Verarbeitung von Daten gesondert abzusichern.
  • Wenn Kommunikation mit Drittanbietern angestrebt wird, denen nicht mehr als die notwendigen Daten anvertraut werden sollen.
  • Außerdem empfehlen wir grundsätzlich Datenmaskierung für alle Operationen zu verwenden, die auf maskierten Daten problemlos laufen können, da jeder weitere Zugriffspunkt auf unternehmensrelevante Daten das Risiko erhöht, dass diese in falsche Hände geraten. Häufig nicht willentlich, sondern durch Unachtsamkeit von Mitarbeiter:innen, die nicht (oder kaum) zu verhindern ist.

 

Dynamische Spaltenmaskierung

Dynamische Spaltenmaskierung ermöglicht, Regeln auf einzelne Spalten einer Tabelle zu definieren und so Informationen unkenntlich zu machen. Dabei wird der Datentyp der Spalte beibehalten, aber der konkrete Wert geändert, sodass die tatsächlichen Informationen geschützt sind. Die Verschleierung wird in Snowflake zur Laufzeit angewendet. Es wird also der vollständige Datensatz gespeichert, die Ausgabe bei Abfragen von Usern hängt allerdings von vorher definierten Maskierungsrichtlinien ab. Das führt dazu, dass die Maskierung stets von der für die Abfrage verwendeten Rolle abhängig ist.

Die folgende Abbildung zeigt die Anwendung der Spaltenmaskierung. Bei der Tabelle handelt es sich um eine vereinfachte Darstellung von Kundendaten, bei der die Kunden-ID, Nachname und E-Mail-Adresse existieren. Da es sich bei der E-Mail-Adresse um eine vertrauliche Information handelt, soll sie lediglich den Mitarbeiter:innen des Unternehmens sichtbar gemacht werden, die diese tatsächlich für ihre Arbeit benötigen. So kann man zum Beispiel für alle User der Rolle „Kundenservice“ die E-Mail-Adresse anzeigen lassen, bei Anfragen von der Rolle „Entwickler:in“ die Spalte aber mit Sternchen maskieren. Dabei bleibt die ursprüngliche Tabelle mit allen Informationen stets die, die innerhalb des Snowflake-Accounts gespeichert ist und die Veränderungen der Sichtbarkeit von Informationen werden nur zur Laufzeit angepasst.

Abbildung 3: Spaltenmaskierung

Abbildung 3 - Spaltenmaskierung

Im folgenden Code-Block sind die SQL-Statements abgebildet, die für die Erstellung einer derartigen Spaltenmaskierungsrichtlinie notwendig sind.

Externe Tokenisierung

Tokenisierung dient ebenfalls der Maskierung von einzelnen Spalten. Der Unterschied zu Maskierungsrichtlinien besteht jedoch darin, dass die Daten bereits beim Hochladen in Snowflake durch Token referenziert werden (demnach die Maskierung nicht erst zur Laufzeit stattfindet). Ein Vorteil bei der Nutzung von Token anstelle von Maskierungsrichtlinien ist, dass Datensätze nach tokenisierten Werten gruppiert und danach ausgewertet werden können, ohne konkrete vertrauliche Informationen preiszugeben. Auf der anderen Seite ist Tokenisierung jedoch aufwendiger und bedarf mehr Arbeit von der Seite des Unternehmens. Denn die Token müssen mithilfe von Drittanbietern erstellt werden. Außerdem erschwert die Tokenisierung die Datenfreigabe mit anderen Accounts, da externe Funktionen nicht für diese verwendet werden können.

 

Dynamische Zeilenzugriffskontrolle

Bei der dynamischen Zeilenmaskierung handelt es sich ähnlich wie bei der Spaltenmaskierung um die Einschränkung des Datenzugriffs innerhalb einer Tabelle oder Ansicht, die zur Laufzeit ausgeführt wird. Der wesentliche Unterschied liegt darin, dass bei der Zeilenmaskierung auf Grundlage von Regeln ganze Datensätze (also Zeilen innerhalb einer Tabelle oder einer Ansicht) für bestimmte Nutzer:innen nicht einsehbar sind.

In der nachfolgenden Grafik ist die Idee visualisiert. Es ist eine vereinfachte Form einer Verkaufstabelle abgebildet, in der Informationen zu Produkt, Kunde, Anzahl und Umsatz von einzelnen Transaktionen dargestellt sind. Angenommen Transaktionen über kleine Produktmengen sind für einige Bereiche im Unternehmen irrelevant und sollen deswegen den entsprechenden Rollen nicht angezeigt werden. Im Beispiel legt eine Regel fest, welche Produktmenge mindestens abgenommen werden soll, damit die Transaktion angezeigt wird.

Abbildung 4: Zeilenzugriffskontrolle

Abbildung 4 - Zeilenzugriffskontrolle

Überwache deine Daten

Eine weitere Möglichkeit, die Sicherheit zu erhöhen, ist es, den Zugriff auf alle Objekte strukturiert zu überwachen. Dadurch können Ungereimtheiten oder unberechtigte Zugriffe schneller ausfindig gemacht werden, um entsprechend reagieren zu können. Snowflake bietet hierfür die Möglichkeit, sich den Zugriffsverlauf für alle Lese- und Schreiboperationen anzusehen. Dabei kann verfolgt werden, welche Objekte direkt aufgerufen wurden sowie welche Informationen sich indirekt zugänglich gemacht worden sind.

Verdächtige Operationen können z. B. umfangreiche Abfragen außerhalb der üblichen Arbeitszeiten oder wiederkehrende Zugriffe auf Transaktionen einzelner Kunden sein.

 

Fazit: Weniger sehen ist mehr

In diesem Blog-Beitrag zeigen wir auf, wie Governance-Methoden innerhalb von Snowflake dazu beitragen können, die Datensicherheit zu stärken. Dabei folgen wir vor allem den Gedanken, dass jede:r Nutzer:in von Cloud-Services selbst einen Teil der Verantwortung trägt, die Sicherheit in der Cloud zu gewährleisten. Wir haben deutlich gemacht, dass es notwendig ist, sich mit den eigenen Daten vertraut zu machen und einen aktuellen Überblick zu haben, wo welche Informationen liegen. Erst mit dieser Basis ist es möglich, den Zugriff strukturiert einzuschränken, um so das Risiko von Datenverlust zu senken.

Ein wichtiger Bestandteil bei der Zugriffsverwaltung ist das Einschränken der Sichtbarkeit von Informationen anhand von Rollen. Wie Rollen innerhalb von Snowflake definiert sind und wie sie dazu eingesetzt werden können, durch Rollenhierarchien eine logische und leicht wartbare Zugriffsstruktur aufzubauen, können Sie hier nachlesen. In diesem Beitrag haben wir zusätzlich gezeigt, wie Datenmaskierung innerhalb von Snowflake funktioniert, ein Konzept, das ebenfalls auf der Idee von Rollen aufbaut. Dabei sind wir nicht nur darauf eingegangen, dass es sich grundsätzlich um die Einschränkung der Sichtbarkeit von Informationen innerhalb von einer Tabelle oder Ansicht handelt, sondern haben auch betont, warum es sinnvoll ist, von diesen Funktionen Gebrauch zu machen. Letztendlich folgt alles dem Prinzip für jede:r Nutzer:in nur die nötigen Daten sichtbar zu machen, um eine Reihe von internen Bedrohungsszenarien vorzubeugen.

Nicht zuletzt darf man das Monitoring nicht aus den Augen verlieren. Nachdem wir das Thema hier nur kurz angeschnitten haben, wollen wir in dem nächsten Blog-Beitrag dieser Reihe näher darauf eingehen, wie Monitoring sinnvoll in Snowflake umgesetzt werden kann, vor allem durch das Tool „SnowAlert“.

Interessiert? Weitere Informationen finden Sie auf unserer Seite zu Cloud Data Warehouse.

MEHR ERFAHREN


Zu diesem Blogartikel hat Melena Thieß (WWU Münster) mit ihrer Tätigkeit als Werkstudententin maßgeblich beigetragen.

Unsere Blogserie zu Snowflake

Weitere Inhalte zu IT-Sicherheit finden Sie auf unserem Blog.


zurück zur Blogübersicht

Diese Beiträge könnten Sie ebenfalls interessieren

Keinen Beitrag verpassen – viadee Blog abonnieren

Jetzt Blog abonnieren!

Kommentare

Tobias Otte

Tobias Otte

Tobias Otte ist Beratender Manger bei der viadee IT-Unternehmensberatung und Leiter des Kompetenzbereichs Data Science. Seine Schwerpunkte liegen in den Themenfeldern Daten Architekturen und Analytics in der Finanzindustrie.

Tobias Otte bei Xing Tobias Otte auf LinkedIn