DataSunrise erreicht AWS DevOps Kompetenz Status in AWS DevSecOps und Überwachung, Protokollierung, Performance

Data Masking für Amazon Athena

Data Masking für Amazon Athena

Einführung

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

Verständnis von Data Masking in Amazon Athena

Data Masking ist eine Technik, die verwendet wird, um eine strukturell ähnliche, aber unechte Version der Daten einer Organisation zu erstellen. Dieser Prozess zielt darauf ab, sensible Informationen zu schützen und gleichzeitig die Daten für Test- oder Analysezwecke nutzbar zu halten.

Warum ist Data Masking wichtig?

  1. Compliance: Viele Vorschriften erfordern den Schutz von persönlichen und sensiblen Daten.
  2. Risikominimierung: Maskierte Daten minimieren das Risiko von Datenverletzungen.
  3. Testen und Entwicklung: Sie ermöglichen die sichere Nutzung produktionsähnlicher Daten.

Native Masking-Techniken in Amazon Athena

Amazon Athena bietet mehrere native Masking-Techniken unter Verwendung der SQL-Sprache, Ansichten, gespeicherte Prozeduren und AWS CLI. Lassen Sie uns diese Methoden erkunden.

SQL-Sprachfunktionen

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

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

Ansichten für Data Masking

Ansichten können eine Abstraktionsebene bieten, die es ermöglicht, Daten zu maskieren, ohne die Originaltabelle zu ändern.

Beispiel:

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

Die Ausgabe könnte wie folgt aussehen:

Gespeicherte Prozeduren und Zugriffskontrollen

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

Athenas Benutzerverwaltung und Zugriffskontrolle wird durch AWS Identity and Access Management (IAM) gehandhabt, was ein robustes, cloudnatives Sicherheitsmodell bietet. Dies bedeutet jedoch, dass Maskierungsregeln in der Regel auf Anwendungsebene implementiert werden müssen, wo die Zugriffskontrolle durchgesetzt wird.

Für Organisationen, die einen zentralisierteren und einheitlicheren Ansatz zur Zugriffskontrolle und Datenmaskierung suchen, können Lösungen wie DataSunrise hilfreich sein. Im Proxy-Modus verwendet, ermöglicht DataSunrise Datenbankadministratoren, konsistente Maskierungsregeln und Zugriffskontrollen über verschiedene Datenquellen hinweg zu implementieren, einschließlich Athena. Dieser Ansatz kann die Robustheit und Verwaltung von Datenschutzmaßnahmen erheblich verbessern, insbesondere in komplexen, multi-service Umgebungen.

AWS CLI für Data Masking

Die AWS Command Line Interface (CLI) bietet eine leistungsstarke Möglichkeit zur Automatisierung von Data Masking in Amazon Athena. Für ein praktisches Beispiel dieses Ansatzes, siehe unseren Artikel über dynamisches Maskieren, der zeigt, wie man effizient Data Protection implementiert und verwaltet, indem man CLI-Befehle verwendet.

Python und Boto3 für Native Maskierung in Athena

Schauen wir uns an, wie man Python und Boto3 verwendet, um eine Verbindung zu Athena herzustellen, 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

# Verbindung zu Athena herstellen
athena_client = boto3.client('athena')

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

query_execution_id = response['QueryExecutionId']

# Warten, bis die Abfrage abgeschlossen ist
if wait_for_query_to_complete(athena_client, query_execution_id):
    # Ergebnisse abrufen
    result_response = athena_client.get_query_results(
        QueryExecutionId=query_execution_id
    )

    # Spaltennamen extrahieren
    columns = [col['Label'] for col in result_response['ResultSet']['ResultSetMetadata']['ColumnInfo']]

    # Daten extrahieren
    data = []
    for row in result_response['ResultSet']['Rows'][1:]:  # Kopfzeile überspringen
        data.append([field.get('VarCharValue', '') for field in row['Data']])

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

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

    # E-Mails maskieren (angenommen, 'email' Spalte existiert)
    if 'email' in df.columns:
        df['email'] = df['email'].apply(lambda x: x[:3] + '***' + x[-4:] if x else x)

    # Maskierte Daten speichern
    df.to_csv('danielarticletable_masked.csv', index=False)
    print("Maskierte Daten wurden in danielarticletable_masked.csv gespeichert")
else:
    print("Fehler beim Abrufen der Abfrageergebnisse")

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
…

Die AWS-Anmeldeinformationen wurden in der Python-Umgebung gesetzt. Die Ausgabe des Maskierungsskripts für Jupyter Notebook in unserem Fall war:

Maskierung mit DataSunrise

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

Erstellen einer DataSunrise dynamischen Maskierungsregel

  1. Gehe zu „Maskierung und dynamische Maskierung“ im Hauptmenü.
  2. Erstelle eine neue Maskierungsregel.
  3. Wähle die „Amazon Athena“-Instanz als Regelinstanz.
  4. Konfiguriere die Maskierungsregel, indem du angibst, welche Spalten maskiert werden sollen.
  5. Speichere die Regel. Sie wird automatisch beim Speichern aktiv.

Auf dem Bild oben sind zwei Spalten zur Maskierung markiert. Das Auswählen mehrerer Spalten in einer einzigen Regel kann jedoch die verfügbaren Maskierungsmethoden einschränken. Wenn du unterschiedliche Maskierungstechniken für jedes Feld benötigst, erstelle separate Regeln für jede Spalte. Dieser Ansatz bietet eine größere Flexibilität bei der Auswahl geeigneter Maskierungsmethoden für einzelne Datentypen.

Vorteile von DataSunrise für zentrale Maskierung

  1. Einheitliche Kontrolle: Verwalte Maskierungsregeln über mehrere Datenquellen hinweg.
  2. Echtzeitschutz: Wende Maskierung dynamisch an, wenn Abfragen ausgeführt werden.
  3. Flexible Regeln: Erstelle komplexe Maskierungsmuster basierend auf Benutzerrollen oder Datenempfindlichkeit.
  4. Prüfpfad: Verfolge alle Datenzugriffs- und Maskierungsaktivitäten.

Statistische Datenmaskierung von Athena mit DataSunrise

Amazon Athena ist ein Abfrageservice und keine traditionelle Datenbank, was bedeutet, dass direkte statische Maskierung in DataSunrise für Athena nicht unterstützt wird. Es gibt jedoch effektive Workarounds. Für detaillierte Informationen zu diesen alternativen Ansätzen sieh dir bitte unseren speziellen Artikel zu Athena-statistischen Datenmaskierungsstrategien an.

Best Practices für Data Masking in Amazon Athena

  1. Identifiziere sensible Daten: Führe regelmäßig Datenüberprüfungen durch, um sensible Informationen zu identifizieren.
  2. Verwende mehrere Techniken: Kombiniere native Athena-Funktionen mit Tools von Drittanbietern wie DataSunrise.
  3. Gründlich testen: Stelle sicher, dass Maskierung die Anwendungsfunktionalität nicht beeinträchtigt.
  4. Regelmäßig aktualisieren: Überprüfe und aktualisiere Maskierungsregeln, wenn sich Daten ändern.
  5. Überwachen und Prüfen: Behalte im Auge, wer wann auf maskierte Daten zugreift.

Fazit

Data Masking 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 dennoch die Nützlichkeit der Daten beibehalten. Denken Sie daran, dass effektives Data Masking ein fortlaufender Prozess ist, der Wachsamkeit und regelmäßige Updates erfordert.

Da Datenverletzungen häufiger werden, ist die Investition in robuste Data Masking-Techniken nicht nur eine bewährte Methode, sondern eine Notwendigkeit für verantwortungsvolles Datenmanagement.

DataSunrise bietet flexible und fortschrittliche Tools für die Datensicherheit, einschließlich umfassender Prüf- und Compliance-Werkzeuge. Für eine praktische Erfahrung mit unserer leistungsstarken Datenschutz-Suite laden wir Sie ein, unsere Website zu besuchen und unsere Online-Demo zu vereinbaren.

Nächste

Dynamische Datenmaskierung für Amazon Athena: Datensicherung ohne Einbußen bei der Nutzbarkeit

Dynamische Datenmaskierung für Amazon Athena: Datensicherung ohne Einbußen bei der Nutzbarkeit

Erfahren Sie mehr

Benötigen Sie die Hilfe unseres Support-Teams?

Unsere Experten beantworten gerne Ihre Fragen.

Countryx
United States
United Kingdom
France
Germany
Australia
Afghanistan
Islands
Albania
Algeria
American Samoa
Andorra
Angola
Anguilla
Antarctica
Antigua and Barbuda
Argentina
Armenia
Aruba
Austria
Azerbaijan
Bahamas
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bermuda
Bhutan
Bolivia
Bosnia and Herzegovina
Botswana
Bouvet
Brazil
British Indian Ocean Territory
Brunei Darussalam
Bulgaria
Burkina Faso
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Cayman Islands
Central African Republic
Chad
Chile
China
Christmas Island
Cocos (Keeling) Islands
Colombia
Comoros
Congo, Republic of the
Congo, The Democratic Republic of the
Cook Islands
Costa Rica
Cote D'Ivoire
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Falkland Islands (Malvinas)
Faroe Islands
Fiji
Finland
French Guiana
French Polynesia
French Southern Territories
Gabon
Gambia
Georgia
Ghana
Gibraltar
Greece
Greenland
Grenada
Guadeloupe
Guam
Guatemala
Guernsey
Guinea
Guinea-Bissau
Guyana
Haiti
Heard Island and Mcdonald Islands
Holy See (Vatican City State)
Honduras
Hong Kong
Hungary
Iceland
India
Indonesia
Iran, Islamic Republic Of
Iraq
Ireland
Isle of Man
Israel
Italy
Jamaica
Japan
Jersey
Jordan
Kazakhstan
Kenya
Kiribati
Korea, Democratic People's Republic of
Korea, Republic of
Kuwait
Kyrgyzstan
Lao People's Democratic Republic
Latvia
Lebanon
Lesotho
Liberia
Libyan Arab Jamahiriya
Liechtenstein
Lithuania
Luxembourg
Macao
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
Marshall Islands
Martinique
Mauritania
Mauritius
Mayotte
Mexico
Micronesia, Federated States of
Moldova, Republic of
Monaco
Mongolia
Montserrat
Morocco
Mozambique
Myanmar
Namibia
Nauru
Nepal
Netherlands
Netherlands Antilles
New Caledonia
New Zealand
Nicaragua
Niger
Nigeria
Niue
Norfolk Island
North Macedonia, Republic of
Northern Mariana Islands
Norway
Oman
Pakistan
Palau
Palestinian Territory, Occupied
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Pitcairn
Poland
Portugal
Puerto Rico
Qatar
Reunion
Romania
Russian Federation
Rwanda
Saint Helena
Saint Kitts and Nevis
Saint Lucia
Saint Pierre and Miquelon
Saint Vincent and the Grenadines
Samoa
San Marino
Sao Tome and Principe
Saudi Arabia
Senegal
Serbia and Montenegro
Seychelles
Sierra Leone
Singapore
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
South Georgia and the South Sandwich Islands
Spain
Sri Lanka
Sudan
Suriname
Svalbard and Jan Mayen
Swaziland
Sweden
Switzerland
Syrian Arab Republic
Taiwan, Province of China
Tajikistan
Tanzania, United Republic of
Thailand
Timor-Leste
Togo
Tokelau
Tonga
Trinidad and Tobago
Tunisia
Turkey
Turkmenistan
Turks and Caicos Islands
Tuvalu
Uganda
Ukraine
United Arab Emirates
United States Minor Outlying Islands
Uruguay
Uzbekistan
Vanuatu
Venezuela
Viet Nam
Virgin Islands, British
Virgin Islands, U.S.
Wallis and Futuna
Western Sahara
Yemen
Zambia
Zimbabwe
Choose a topicx
Allgemeine Informationen
Vertrieb
Kundenservice und technischer Support
Partnerschafts- und Allianz-Anfragen
Allgemeine Informationen:
info@datasunrise.com
Kundenservice und technischer Support:
support.datasunrise.com
Partnerschafts- und Allianz-Anfragen:
partner@datasunrise.com