DataSunrise sponsert AWS re:Invent 2024 in Las Vegas, bitte besuchen Sie uns am Stand #2158 von DataSunrise

Datenmaskierung für Amazon Athena

Datenmaskierung für Amazon Athena

Einführung

Im April 2024 berichtete Mandiant von einer bedeutenden Bedrohung für Nutzer des Snowflake Data Warehouse. Der Angriff nutzte gestohlene Zugangsdaten, um auf wertvolle Daten zuzugreifen und sie zu kompromittieren. Dieser Vorfall unterstreicht die wachsende Bedeutung robuster Cloud-Sicherheitsmaßnahmen in der heutigen digitalen Landschaft. Datenmaskierung hilft, sensible Informationen zu schützen, indem das Risiko der Offenlegung in Szenarien wie diesem verringert wird. Amazon Athena, ein leistungsstarker serverloser Abfrageservice, verarbeitet große Datenmengen. Lassen Sie uns die Grundlagen der Datenmaskierung für Amazon Athena erkunden und wie sie Ihre sensiblen Daten schützen kann.

Verstehen der Datenmaskierung in Amazon Athena

Datenmaskierung ist eine Technik, um eine strukturell ähnliche, aber unechte Version der Daten einer Organisation zu erstellen. Dieser Prozess zielt darauf ab, sensible Informationen zu schützen, während die Nützlichkeit der Daten für Test- oder Analysezwecke erhalten bleibt.

Warum ist Datenmaskierung wichtig?

  1. Compliance: Viele Vorschriften erfordern den Schutz persönlicher und sensibler Daten.
  2. Risiken reduzieren: Maskierte Daten minimieren das Risiko von Datenschutzverletzungen.
  3. Testen und Entwicklung: Sie ermöglicht die sichere Nutzung von produktionsähnlichen Daten.

Native Maskierungstechniken in Amazon Athena

Amazon Athena bietet mehrere native Maskierungstechniken unter Verwendung von SQL-Sprachfunktionen, Ansichten, gespeicherten Prozeduren und AWS CLI. Lassen Sie uns diese Methoden erkunden.

SQL-Sprachfunktionen

Athena unterstützt verschiedene SQL-Funktionen, die für die Datenmaskierung verwendet werden können:

  1. SUBSTR(): Extrahiert einen Teil einer Zeichenkette.
  2. CONCAT(): Kombiniert Zeichenketten.
  3. REGEXP_REPLACE(): Ersetzt Text unter Verwendung von regulären Ausdrücken.

Ansichten für die Datenmaskierung

Ansichten können eine Abstraktionsschicht bieten, mit der Sie Daten maskieren können, ohne die ursprüngliche Tabelle zu ändern.

Beispiel:

CREATE OR REPLACE VIEW masked_users AS
SELECT 
    id,
    first_name,
    last_name,
    -- E-Mail maskieren
    CONCAT(SUBSTR(email, 1, 3), '***', SUBSTR(email, -4)) AS email,
    -- IP-Adresse maskieren
    REGEXP_REPLACE(ip_address, '(\d+\.\d+\.\d+\.)\d+', '$1***') AS ip_address
FROM 
    danielarticletable;
SELECT * FROM "danielarticledatabase"."masked_users" limit 10;

Die Ausgabe kann wie folgt aussehen:

Gespeicherte Prozeduren und Zugangskontrolle

Es ist wichtig zu verstehen, dass Amazon Athena keine herkömmliche Datenbank ist, sondern eher ein Abfrageservice. Daher speichert es keine Prozeduren und verwaltet Benutzer nicht auf die gleiche Weise wie eine herkömmliche Datenbank. Aus diesem Grund haben wir alternative Maskierungsansätze untersucht, wie Ansichten und eingebaute SQL-Funktionen.

Athenas Benutzerverwaltung und Zugangskontrolle werden über AWS Identity and Access Management (IAM) gehandhabt, das ein robustes, cloud-natives Sicherheitsmodell bietet. Dies bedeutet jedoch, dass Datenmaskierungsregeln normalerweise auf Anwendungsebene implementiert werden müssen, wo die Zugangskontrolle durchgesetzt wird.

Für Organisationen, die einen zentralisierten und einheitlichen Ansatz für Zugangskontrolle und Datenmaskierung suchen, können Lösungen wie DataSunrise wertvoll sein. Wenn DataSunrise im Proxy-Modus verwendet wird, können Datenbankadministratoren konsistente Maskierungsregeln und Zugangskontrollen über verschiedene Datenquellen hinweg implementieren, einschließlich Athena. Dieser Ansatz kann die Robustheit und Handhabbarkeit von Datenschutzmaßnahmen erheblich verbessern, insbesondere in komplexen, Multi-Service-Umgebungen.

AWS CLI für die Datenmaskierung

Die AWS Command Line Interface (CLI) bietet eine leistungsstarke Möglichkeit, die Datenmaskierung in Amazon Athena zu automatisieren. Ein praktisches Beispiel für diesen Ansatz finden Sie in unserem Artikel zur dynamischen Maskierung, der zeigt, wie Sie die Datenprotektion effizient implementieren und verwalten können, indem Sie CLI-Befehle verwenden.

Python und Boto3 für native Maskierung in Athena

Erkunden wir, wie Sie Python und Boto3 verwenden können, um sich mit Athena zu verbinden, Daten zu kopieren und E-Mails zu maskieren.

import boto3
import time
import pandas as pd

def wait_for_query_to_complete(athena_client, query_execution_id):
    max_attempts = 50
    sleep_time = 2

    for attempt in range(max_attempts):
        response = athena_client.get_query_execution(QueryExecutionId=query_execution_id)
        state = response['QueryExecution']['Status']['State']

        if state == 'SUCCEEDED':
            return True
        elif state in ['FAILED', 'CANCELLED']:
            print(f"Query failed or was cancelled. Final state: {state}")
            return False

        time.sleep(sleep_time)

    print("Query timed out")
    return False

# Connect to Athena
athena_client = boto3.client('athena')

# Execute query
query = "SELECT * FROM danielArticleDatabase.danielArticleTable"
response = athena_client.start_query_execution(
    QueryString=query,
    ResultConfiguration={'OutputLocation': 's3://danielarticlebucket/AthenaArticleTableResults/'}
)

query_execution_id = response['QueryExecutionId']

# Wait for the query to complete
if wait_for_query_to_complete(athena_client, query_execution_id):
    # Get results
    result_response = athena_client.get_query_results(
        QueryExecutionId=query_execution_id
    )

    # Extract column names
    columns = [col['Label'] for col in result_response['ResultSet']['ResultSetMetadata']['ColumnInfo']]

    # Extract data
    data = []
    for row in result_response['ResultSet']['Rows'][1:]:  # Skip header row
        data.append([field.get('VarCharValue', '') for field in row['Data']])

    # Create DataFrame
    df = pd.DataFrame(data, columns=columns)

    print("\nDataFrame head:")
    print(df.head())

    # Mask emails (assuming 'email' column exists)
    if 'email' in df.columns:
        df['email'] = df['email'].apply(lambda x: x[:3] + '***' + x[-4:] if x else x)

    # Save masked data
    df.to_csv('danielarticletable_masked.csv', index=False)
    print("Masked data saved to danielarticletable_masked.csv")
else:
    print("Failed to retrieve query results")

Dieses Skript ruft Daten von Athena ab, maskiert die E-Mail-Spalte und speichert das Ergebnis in der Datei danielarticletable_masked.csv. Die Ausgabedatei sieht wie folgt aus:

id,first_name,last_name,email,gender,ip_address
1,Calida,Bulstrode,cbu***.com,Female,42.239.162.240
2,Stephanie,Arndt,sar***.com,Female,41.69.11.161
…

AWS-Zugangsdaten wurden in der Python-virtuellen Umgebung gesetzt. Die Maskierungsskript-Ausgabe für Jupyter Notebook in unserem Fall war:

Maskierung mit DataSunrise

Während die native Maskierung nützlich ist, bietet die DataSunrise-Maskierung mehr Flexibilität. Sie bietet sowohl dynamische als auch statische Maskierungsfunktionen für Amazon Athena.

Erstellen einer DataSunrise-Dynamischen Maskierungsregel

  1. Wechseln Sie im Hauptmenü zu “Maskierung und dynamische Maskierung”.
  2. Erstellen Sie eine neue Maskierungsregel.
  3. Wählen Sie die ‘Amazon Athena’-Instanz als Regelinstanz.
  4. Konfigurieren Sie die Maskierungsregel, indem Sie angeben, welche Spalten maskiert werden sollen.
  5. Speichern Sie die Regel. Sie wird automatisch beim Speichern aktiviert.

Im obigen Bild sehen Sie zwei Spalten, die markiert wurden, um maskiert zu werden. Das Auswählen mehrerer Spalten in einer einzigen Regel kann jedoch Ihre verfügbaren Maskierungsmethoden einschränken. Wenn Sie für jedes Feld unterschiedliche Maskierungstechniken benötigen, sollten Sie in Betracht ziehen, separate Regeln für jede Spalte zu erstellen. Dieser Ansatz bietet eine größere Flexibilität bei der Auswahl geeigneter Maskierungsmethoden für einzelne Datentypen.

Vorteile von DataSunrise für zentralisierte Maskierung

  1. Einheitliche Kontrolle: Verwalten Sie Maskierungsregeln über mehrere Datenquellen hinweg.
  2. Echtzeitschutz: Wenden Sie Maskierung dynamisch an, während Abfragen ausgeführt werden.
  3. Flexible Regeln: Erstellen Sie komplexe Maskierungsmuster basierend auf Benutzerrollen oder Datensensitivität.
  4. Audit-Trail: Verfolgen Sie alle Datenzugriffs- und Maskierungsaktivitäten.

Athena statische Datenmaskierung mit DataSunrise

Amazon Athena ist ein Abfrageservice und keine herkömmliche Datenbank, was bedeutet, dass die direkte statische Maskierung in DataSunrise für Athena nicht unterstützt wird. Es gibt jedoch effektive Alternativen. Weitere Informationen zu diesen alternativen Ansätzen finden Sie in unserem speziellen Artikel zu Strategien zur statischen Datenmaskierung von Athena.

Beste Praktiken für die Datenmaskierung in Amazon Athena

  1. Identifizieren Sie sensible Daten: Auditen Sie regelmäßig Ihre Daten, um sensible Informationen zu identifizieren.
  2. Verwenden Sie mehrere Techniken: Kombinieren Sie native Athena-Funktionen mit Drittanbieter-Tools wie DataSunrise.
  3. Gründlich testen: Stellen Sie sicher, dass die Maskierung die Anwendungsfunktionalität nicht beeinträchtigt.
  4. Regelmäßig aktualisieren: Überprüfen und aktualisieren Sie Maskierungsregeln, wenn sich die Daten entwickeln.
  5. Überwachen und auditieren: Verfolgen Sie wer auf maskierte Daten zugreift und wann.

Fazit

Datenmaskierung für Amazon Athena ist ein wichtiger Aspekt der Datensicherheit. Durch die Nutzung nativer Athena-Funktionen und leistungsstarker Tools wie DataSunrise können Organisationen sensible Informationen schützen und gleichzeitig die Nützlichkeit der Daten erhalten. Denken Sie daran, dass effektive Datenmaskierung ein fortlaufender Prozess ist, der Wachsamkeit und regelmäßige Updates erfordert.

Da Datenverletzungen immer häufiger werden, ist die Investition in robuste Datenmaskierungstechniken nicht nur eine bewährte Methode – es ist eine Notwendigkeit für verantwortungsvolles Datenmanagement.

DataSunrise bietet flexible und hochmoderne Tools für die Datenbanksicherheit, einschließlich umfassender Audit- und Compliance-Tools. Für einen ersten Einblick in unsere leistungsstarke Datenschutzsuite laden wir Sie ein, unsere Website zu besuchen und eine Online-Demo zu vereinbaren.

Nächste

Dynamische Datenmaskierung für Amazon Athena

Dynamische Datenmaskierung für Amazon Athena

Erfahren Sie mehr

Benötigen Sie die Hilfe unseres Support-Teams?

Unsere Experten beantworten gerne Ihre Fragen.

Allgemeine Informationen:
[email protected]
Kundenservice und technischer Support:
support.datasunrise.com
Partnerschafts- und Allianz-Anfragen:
[email protected]