Nutzung von API Gateway für Data Sovereignty und Data Compliance

Ming Wen

Ming Wen

November 28, 2022

Technology

Hintergrund und Herausforderungen

Mit der zunehmenden Verbreitung von Smartphones, IoT und Hochgeschwindigkeits-Mobilfunknetzen werden große Mengen sensibler Daten generiert, wie Fotos, Finanztransaktionen, geografische Standorte, DNA-Sequenzierung, medizinische Aufzeichnungen und klinische Studien. Statistische Analysen basierend auf diesen sensiblen Daten können Personen, Unternehmen oder Gruppen von Menschen genau darstellen und damit die Privatsphäre und die nationale Sicherheit gefährden.

Immer mehr Gesetzgeber weltweit erkennen die Ernsthaftigkeit und Dringlichkeit dieses Problems. Sie haben zahlreiche Gesetze und Vorschriften eingeführt, um die Datenerfassung und den grenzüberschreitenden Datentransfer zu regeln. Die Datenschutz-Grundverordnung (DSGVO) in Europa und der Health Insurance Portability and Accountability Act (HIPAA) in den USA sind Vorreiter dieser Gesetze. Viele Entwicklungsländer ziehen nach:

Somit werden Daten, die von Endgeräten und Nutzern generiert und von Herstellern gespeichert werden, von mehreren Strafverfolgungsbehörden überwacht. Daher stehen Unternehmen, insbesondere große multinationale Unternehmen, vor vielen dringenden neuen Problemen:

- Welche Daten dürfen gesammelt werden? Welche nicht?

- Wie und wo werden die Daten gespeichert?

- Können Daten grenzüberschreitend übertragen werden?

Es wird ein riesiges Projekt sein, Lösungen für all diese Fragen zu erarbeiten. Hier konzentrieren wir uns hauptsächlich auf ein Problem:

Wie kann die Datenhoheit auf der Ebene des API-Gateways für die über die API übertragenen Kundendaten bestimmt werden, um sicherzustellen, dass die Daten rechtmäßig verarbeitet und gespeichert werden?

Ein Beispiel: Ein amerikanischer Benutzer auf einer Geschäftsreise in Europa verwendet sein Smartphone, um eine Banküberweisung durchzuführen. In diesem Fall müssen die Transaktionsdaten von einem weiter entfernten Server in den USA verarbeitet und gespeichert werden, nicht von einem näheren europäischen Server.

Im zweiten Teil dieses Artikels werden wir eine spezifische technische Lösung für dieses Beispiel vorstellen. Zuvor werfen wir jedoch einen Blick auf Datenhoheit und Compliance.

Was sind Datenhoheit und Daten-Compliance?

Datenhoheit

Ein Land hat nicht nur Souveränität über physischen Raum wie Territorium, Luftraum und Hoheitsgewässer, sondern auch über seine Daten und den nationalen Cyberraum.

Nehmen wir die Datenschutz-Grundverordnung (DSGVO) als Beispiel, eine EU-Verordnung zum Schutz personenbezogener Daten. Eine der grundlegendsten Anforderungen der DSGVO lautet: "Alle Datenerfassungsaktivitäten erfordern die Zustimmung des Nutzers, und der Nutzer hat das Recht, gespeicherte personenbezogene Daten jederzeit zu löschen."

Daher muss ein Unternehmen, das europäische Daten in andere Regionen übertragen möchte, sicherstellen, dass die Anforderungen der Datenhoheit des Drittlandes denen der EU entsprechen. In Bezug auf die Notwendigkeit, dass Daten lokale Gesetze einhalten müssen, gibt es in multinationalen Unternehmen tatsächlich viele Bedenken.

Ein weiteres Problem ist der US-amerikanische PATRIOT Act, der vorschreibt, dass alle in den USA gespeicherten Daten oder Daten, die von US-Unternehmen gespeichert werden, unter der Aufsicht der Vereinigten Staaten stehen. Das US-Justizministerium und die Central Intelligence Agency (CIA) haben das Recht, Unternehmen zur Herausgabe von Daten aufzufordern. Im Jahr 2013 forderte das US-Justizministerium Microsoft auf, einige E-Mail-Informationen offenzulegen, die auf seinen Servern in Irland gespeichert waren. Microsoft lehnte die Aufforderung des US-Justizministeriums ab, da dies gegen die Vorschriften der Europäischen Union verstoßen würde. Daraufhin verklagte das US-Justizministerium Microsoft, aber Microsoft gewann den Fall. Später platzierten viele Unternehmen in den USA ihre Rechenzentren direkt in Europa, um das Risiko der Datenhoheit zu vermeiden. Dennoch gab es in letzter Zeit einige Fälle, in denen Richter entschieden, dass die USA das Recht haben, Daten von US-Unternehmen in Europa anzufordern. Dies ist die Long-Arm-Jurisdiktion der Vereinigten Staaten.

Die Datenhoheit stellt Unternehmen tatsächlich vor erhebliche Herausforderungen im globalen Geschäft, und der richtige Umgang mit der Datenhoheit in Unternehmen ist besonders wichtig geworden.

Daten-Compliance

Für multinationale Unternehmen ist die Datensynchronisierung relativ einfach, wenn es keine Anforderungen an die Datenhoheit gibt. Die Daten eines Benutzers in den USA können problemlos auf Server in Asien und Großbritannien synchronisiert werden, wie in der folgenden Abbildung dargestellt. Auf diese Weise kann ein Amerikaner, der in Asien unterwegs ist, auch auf verschiedene Daten zugreifen, die er in den USA generiert hat.

Daten zwischen Rechenzentren synchronisieren

Mit den Compliance-Anforderungen der Datenhoheit können viele Daten nicht länderübergreifend synchronisiert und abgerufen werden. Unternehmen müssen Benutzer unterscheiden und ihre zugehörigen Daten isolieren. Eine gängige Methode besteht darin, Benutzer nach Regionen zu unterteilen.

Nehmen wir Amazon's Kindle als Beispiel: E-Books, die von Benutzern in den USA gekauft wurden, können nicht auf ihr Kindle mit einem chinesischen Konto heruntergeladen werden. Dies liegt daran, dass die Daten zwischen verschiedenen Ländern (Regionen) vollständig isoliert sind. Die Architektur des Systems sieht wie folgt aus:

Nur auf das eigene Rechenzentrum zugreifen

Was also sollte technisch getan werden, wenn ein Benutzer in Großbritannien mit einem US-Konto auf Amazon UK zugreifen möchte? Schauen wir uns das folgende Architekturdiagramm an. Die meisten bestehenden API-Gateway-Produkte schlagen ähnliche Lösungen vor.

Bestehende API-Gateway-Lösung

API-Gateway-Lösung für Daten-Compliance

Wir können den Kern dieser Lösung in einem Satz zusammenfassen:

Das API-Gateway in Großbritannien identifiziert den Benutzer. Wenn das API feststellt, dass der Benutzer in den USA registriert ist, wird die Anfrage an die US-Server zur Verarbeitung weitergeleitet.

Dennoch verbergen sich dahinter einige technische Herausforderungen sowie Compliance-Risiken:

  1. Das API-Gateway benötigt fein abgestimmte Routing-Fähigkeiten, um Daten aus HTTP-Header, Anfrageargumenten und Anfragekörper zu erhalten und mit externen Datenbankabfragen zusammenzuarbeiten, um zu bestimmen, welcher Server den Benutzer verarbeiten soll.

  2. Das Netzwerk zwischen den Regionen muss verbunden sein, um die Anfrage weiterzuleiten. Das britische und das US-amerikanische Rechenzentrum müssen verbunden sein.

  3. Das API-Gateway im britischen Rechenzentrum hat möglicherweise bereits das SSL-Zertifikat entfernt, den Inhalt der API gelesen und die Daten über Zugriffsprotokolle, Audit-Protokolle, Beobachtbarkeitssysteme usw. auf die lokale Festplatte oder andere Dienste aufgezeichnet.

Gibt es eine Möglichkeit, diese Probleme zu lösen?

Mehrschichtiges Netzwerk: Die Lösung von Apache APISIX zur Sicherstellung der Compliance von API-Datenübertragungen

Hier führen wir das Konzept eines "mehrschichtigen Netzwerks" in APISIX ein, um die Compliance und Sicherheit der über API übertragenen Daten auf der Ebene des API-Gateways zu gewährleisten. Ein mehrschichtiges Netzwerk teilt das API-Gateway, wie der Name schon sagt, in zwei Schichten, Schicht 1 und Schicht 2, wie in der folgenden Abbildung dargestellt:

API-Gateway mit mehrschichtigem Netzwerk für Daten-Compliance

  • Schicht-1-API-Gateway: verantwortlich für das Entfernen des SSL-Zertifikats, fein abgestimmtes Routing und die Entscheidung, welches Schicht-2-API-Gateway die API-Anfragen verarbeiten soll.
  • Schicht-2-API-Gateway: Dies ist das ursprüngliche API-Gateway, das sich nicht um Daten-Compliance kümmern muss.

Zurück zur Frage am Anfang des Artikels: Wie kann ein in den USA registrierter Benutzer sicherstellen, dass die API-Daten unabhängig vom Standort seiner Transaktion Compliance einhalten?

Zuerst wird die API-Anfrage an das Schicht-1-API-Gateway gesendet, das im Wesentlichen Apache APISIX ist, aber das multi-layer network-Objekt hinzufügt, an das benutzerdefinierte Plugins gebunden werden können:

  1. Das Schicht-1-API-Gateway definiert die Adresse, Gewichtung und andere Informationen der Schicht-2-API-Gateway-Cluster. Hier richten wir das US-Cluster und das UK-Cluster ein:
http://Layer-1-API-Gateway-IP/apisix/admin/multilayer_network/clusters/cluster-US
{
  "desc": "description",
  "http_port": 80,
  "https_port": 443,
  "gateways": [
    {"host": "IP1", "weight": 1},
    {"host": "IP2", "weight": 2}
  ]
}

http://Layer-1-API-Gateway-IP/apisix/admin/multilayer_network/clusters/cluster-UK
{
  "desc": "description",
  "http_port": 80,
  "https_port": 443,
  "gateways": [
    {"host": "IP1", "weight": 1},
    {"host": "IP2", "weight": 2}
  ]
}
  1. Definieren Sie die Routing-Regeln im mehrschichtigen Netzwerk und binden Sie das bar-Plugin:
http://Layer-1-API-Gateway-IP/apisix/admin/multilayer_network/routes/bank-foo
{
  "desc": "bank API",
  "hosts": ["foo.com"],
  "uris": ["/*"],
  "plugin_id": "bar"
}
  1. Definieren Sie benutzerdefinierte Plugins:
http://***/apisix/admin/multilayer_network/plugins/bar
{
  "desc": "plugin",
  "plugins": {
    "jwt-auth": {
      ... ...
    },
    "foo-upstream-selector": {
      "scheme": "HTTPS"
      ... ...
    },
    ... ...
  }
}

Hier haben wir zwei Plugins gebunden. Das jwt-auth-Plugin wird verwendet, um die Authentifizierung der Anfrage abzuschließen. Der foo-upstream-selector wird verwendet, um Informationen wie Benutzer-ID, Land/Region und das Cluster, zu dem der Benutzer gehört, aus der Datenbank zu lesen und festzulegen, an welches Schicht-2-API-Gateway-Cluster es weitergeleitet wird.

Diese mehrschichtige Architektur stellt die Daten-Compliance über verschiedene Länder hinweg sicher.

Fazit

Kurz gesagt, das fein abgestimmte Routing, das durch die API-Gateway's mehrschichtige Architektur ermöglicht wird, kann Unternehmen dabei helfen, API-Daten schnell und sicher zu verarbeiten und gleichzeitig die Anforderungen an die Daten-Compliance zu erfüllen. Wir bieten diese Funktion in API7 Cloud und API7 Enterprise out-of-the-box an. Bitte füllen Sie das Formular aus, um uns zu kontaktieren.

Tags: