Zephyrnet-Logo

Sichere vorsignierte URLs von Amazon SageMaker Studio Teil 1: Grundlegende Infrastruktur

Datum:

Sie können auf Amazon SageMaker-Studio Notizbücher aus der Amazon Sage Maker Konsole über AWS Identity and Access Management and (IAM) authentifizierter Verbund von Ihrem Identitätsanbieter (IdP), z. B. Okta. Wenn ein Studio-Benutzer den Notebook-Link öffnet, validiert Studio die IAM-Richtlinie des verbundenen Benutzers, um den Zugriff zu autorisieren, und generiert und löst die vorsignierte URL für den Benutzer auf. Da die SageMaker-Konsole auf einer Internetdomäne ausgeführt wird, ist diese generierte vorsignierte URL in der Browsersitzung sichtbar. Dies stellt einen unerwünschten Bedrohungsvektor für die Exfiltration und den Zugriff auf Kundendaten dar, wenn keine ordnungsgemäßen Zugriffskontrollen durchgesetzt werden.

Studio unterstützt einige Methoden zum Durchsetzen von Zugriffskontrollen gegen vorsignierte URL-Datenexfiltration:

  • Client-IP-Validierung mithilfe der IAM-Richtlinienbedingung aws:sourceIp
  • Client-VPC-Validierung mit der IAM-Bedingung aws:sourceVpc
  • Client-VPC-Endpunktvalidierung mithilfe der IAM-Richtlinienbedingung aws:sourceVpce

Wenn Sie über die SageMaker-Konsole auf Studio-Notebooks zugreifen, besteht die einzige verfügbare Option darin, die Client-IP-Validierung mit der IAM-Richtlinienbedingung zu verwenden aws:sourceIp. Sie können jedoch Browser-Traffic-Routing-Produkte wie Zscaler verwenden, um Skalierung und Compliance für den Internetzugang Ihrer Mitarbeiter sicherzustellen. Diese Traffic-Routing-Produkte generieren ihre eigene Quell-IP, deren IP-Bereich nicht vom Unternehmenskunden kontrolliert wird. Dies macht es diesen Unternehmenskunden unmöglich, die zu verwenden aws:sourceIp Zustand.

So verwenden Sie die Client-VPC-Endpunktvalidierung mithilfe der IAM-Richtlinienbedingung aws:sourceVpce, muss die Erstellung einer vorsignierten URL aus derselben Kunden-VPC stammen, in der Studio bereitgestellt wird, und die Auflösung der vorsignierten URL muss über einen Studio-VPC-Endpunkt in der Kunden-VPC erfolgen. Diese Auflösung der vorsignierten URL während der Zugriffszeit für Unternehmensnetzwerkbenutzer kann mithilfe von DNS-Weiterleitungsregeln (sowohl in Zscaler als auch in Unternehmens-DNS) und dann in den Kunden-VPC-Endpunkt mithilfe einer Amazon Route 53 Inbound-Resolver.

In diesem Teil besprechen wir die übergreifende Architektur zum Sichern vorsignierter URLs von Studio und zeigen, wie Sie die grundlegende Infrastruktur zum Erstellen und Starten einer vorsignierten Studio-URL über Ihren VPC-Endpunkt über ein privates Netzwerk einrichten, ohne das Internet zu durchlaufen. Dies dient als grundlegende Ebene, um die Datenexfiltration durch externe Angreifer zu verhindern, die sich Zugriff auf die vorsignierte URL von Studio und nicht autorisierten oder gefälschten Zugriff von Unternehmensbenutzern innerhalb einer Unternehmensumgebung verschaffen.

Lösungsüberblick

Das folgende Diagramm veranschaulicht die übergreifende Lösungsarchitektur.

Der Prozess umfasst die folgenden Schritte:

  1. Ein Unternehmensbenutzer authentifiziert sich über seinen IdP, stellt eine Verbindung zu seinem Unternehmensportal her und öffnet den Studio-Link aus dem Unternehmensportal.
  2. Die Unternehmensportalanwendung führt einen privaten API-Aufruf mit einem API-Gateway-VPC-Endpunkt durch, um eine vorsignierte URL zu erstellen.
  3. Der API Gateway-VPC-Endpunktaufruf „Vorsignierte URL erstellen“ wird an den eingehenden Route 53-Resolver auf der Kunden-VPC weitergeleitet, wie im Unternehmens-DNS konfiguriert.
  4. Der VPC-DNS-Resolver löst es in die API-Gateway-VPC-Endpunkt-IP auf. Optional sucht es nach einem privaten gehosteten Zoneneintrag, falls vorhanden.
  5. Der API Gateway-VPC-Endpunkt leitet die Anfrage über das private Amazon-Netzwerk an die „Create Presigned URL API“ weiter, die im API Gateway-Dienstkonto ausgeführt wird.
  6. API Gateway ruft die auf create-pre-signedURL private API und leitet die Anfrage an die weiter create-pre-signedURL AWS Lambda Funktion.
  7. Das create-pre-signedURL Der Lambda-Aufruf wird über den Lambda-VPC-Endpunkt aufgerufen.
  8. Das create-pre-signedURL Die Funktion wird im Dienstkonto ausgeführt, ruft den authentifizierten Benutzerkontext ab (Benutzer-ID, Region usw.), schlägt eine Zuordnungstabelle nach, um die SageMaker-Domäne und die Benutzerprofilkennung zu identifizieren, erstellt eine sagemaker createpre-signedDomainURL API-Aufruf und generiert eine vorsignierte URL. Die Lambda-Servicerolle hat die Quell-VPC-Endpunktbedingungen, die für die SageMaker-API und Studio definiert sind.
  9. Die generierte vorsignierte URL wird über den Studio-VPC-Endpunkt aufgelöst.
  10. Studio validiert, dass auf die vorsignierte URL über den in der Richtlinie definierten VPC-Endpunkt des Kunden zugegriffen wird, und gibt das Ergebnis zurück.
  11. Das Studio-Notebook wird über das Unternehmensnetzwerk an die Browsersitzung des Benutzers zurückgegeben, ohne das Internet zu durchlaufen.

Die folgenden Abschnitte führen Sie durch die Implementierung dieser Architektur, um mit Studio vorsignierte URLs aus einem Unternehmensnetzwerk mithilfe von VPC-Endpunkten aufzulösen. Wir demonstrieren eine vollständige Implementierung, indem wir die folgenden Schritte zeigen:

  1. Richten Sie die grundlegende Architektur ein.
  2. Konfigurieren Sie den Unternehmens-App-Server für den Zugriff auf eine von SageMaker vorsignierte URL über einen VPC-Endpunkt.
  3. Richten Sie Studio über das Unternehmensnetzwerk ein und starten Sie es.

Richten Sie die grundlegende Architektur ein

In der Post Greifen Sie über ein Unternehmensnetzwerk auf ein Amazon SageMaker Studio-Notebook zuhaben wir gezeigt, wie Sie einen vorsignierten URL-Domänennamen für ein Studio-Notebook aus einem Unternehmensnetzwerk auflösen, ohne das Internet zu durchlaufen. Sie können den Anweisungen in diesem Beitrag folgen, um die grundlegende Architektur einzurichten, und dann zu diesem Beitrag zurückkehren und mit dem nächsten Schritt fortfahren.

Konfigurieren Sie den Unternehmens-App-Server für den Zugriff auf eine von SageMaker vorsignierte URL über einen VPC-Endpunkt

Um den Zugriff auf Studio über Ihren Internetbrowser zu ermöglichen, richten wir einen lokalen App-Server auf Windows Server im öffentlichen Subnetz der lokalen VPC ein. Die DNS-Abfragen für den Zugriff auf Studio werden jedoch über das (private) Unternehmensnetzwerk geleitet. Führen Sie die folgenden Schritte aus, um das Routing von Studio-Datenverkehr über das Unternehmensnetzwerk zu konfigurieren:

  1. Stellen Sie eine Verbindung zu Ihrem lokalen Windows-App-Server her.

  2. Auswählen Password bekommen Durchsuchen Sie dann Ihren privaten Schlüssel und laden Sie ihn hoch, um Ihr Passwort zu entschlüsseln.
  3. Verwenden Sie einen RDP-Client und stellen Sie mit Ihren Anmeldeinformationen eine Verbindung zum Windows-Server her.
    Das Auflösen von Studio-DNS über die Windows Server-Eingabeaufforderung führt zur Verwendung öffentlicher DNS-Server, wie im folgenden Screenshot gezeigt.

    Jetzt aktualisieren wir Windows Server so, dass der lokale DNS-Server verwendet wird, den wir zuvor eingerichtet haben.
  4. Navigieren Systemsteuerung, Netzwerk und Internet, und wähle Netzwerkverbindungen.
  5. Der rechten Maustaste auf Ethernet und wähle das Ferienhäuser Tab.
  6. Aktualisieren Sie Windows Server, um den lokalen DNS-Server zu verwenden.
  7. Jetzt aktualisieren Sie Ihren bevorzugten DNS-Server mit Ihrer DNS-Server-IP.
  8. Navigieren VPC und Routentabellen und wähle deine STUDIO-ONPREM-ÖFFENTLICH-RT Routentabelle.
  9. Fügen Sie eine Route zu 10.16.0.0/16 mit dem Ziel als Peering-Verbindung hinzu, die wir während der Einrichtung der grundlegenden Architektur erstellt haben.

Richten Sie Studio über Ihr Unternehmensnetzwerk ein und starten Sie es

Führen Sie die folgenden Schritte aus, um Studio einzurichten und zu starten:

  1. Laden Sie Chrome herunter und starten Sie den Browser auf dieser Windows-Instanz.
    Unter Umständen müssen Sie Deaktivieren Sie die verstärkte Sicherheitskonfiguration für Internet Explorer um Dateidownloads zuzulassen und dann Datei-Downloads aktivieren.
  2. Navigieren Sie im Chrome-Browser Ihres lokalen Geräts zur SageMaker-Konsole und öffnen Sie die Chrome-Entwicklertools Netzwerk Tab.
  3. Starten Sie die Studio-App und beobachten Sie die Netzwerk Registerkarte für die authtoken Parameterwert, der die generierte vorsignierte URL zusammen mit der Remote-Serveradresse enthält, an die die URL zur Auflösung weitergeleitet wird. In diesem Beispiel ist die Remote-Adresse 100.21.12.108 eine der öffentlichen DNS-Serveradressen zum Auflösen der SageMaker-DNS-Domäne name d-h4cy01pxticj.studio.us-west-2.sagemaker.aws.
  4. Wiederholen Sie diese Schritte ab dem Amazon Elastic Compute-Cloud (Amazon EC2) Windows-Instance, die Sie als Teil der grundlegenden Architektur konfiguriert haben.

Wir können beobachten, dass die Remote-Adresse nicht die öffentliche DNS-IP ist, sondern der Studio-VPC-Endpunkt 10.16.42.74.

Zusammenfassung

In diesem Beitrag haben wir gezeigt, wie Sie eine vorsignierte Studio-URL aus einem Unternehmensnetzwerk mithilfe privater Amazon-VPC-Endpunkte auflösen, ohne die vorsignierte URL-Auflösung dem Internet zugänglich zu machen. Dadurch wird die Sicherheitslage Ihres Unternehmens für den Zugriff auf Studio aus einem Unternehmensnetzwerk weiter gesichert, um hochsichere Workloads für maschinelles Lernen auf SageMaker zu erstellen. Im Teil 2 dieser Reihe erweitern wir diese Lösung weiter, um zu demonstrieren, wie man eine private API für den Zugriff auf Studio mit erstellt aws:sourceVPCE IAM-Richtlinienvalidierung und Token-Authentifizierung. Probieren Sie diese Lösung aus und hinterlassen Sie Ihr Feedback in den Kommentaren!


Über die Autoren

Widder Vittal ist ein Architekt für Lösungen für maschinelles Lernen bei AWS. Er verfügt über mehr als 20 Jahre Erfahrung in der Entwicklung und Erstellung verteilter, hybrider und Cloud-Anwendungen. Er entwickelt leidenschaftlich gerne sichere und skalierbare KI/ML- und Big-Data-Lösungen, um Unternehmenskunden bei ihrer Cloud-Einführung und -Optimierung zu unterstützen und ihre Geschäftsergebnisse zu verbessern. In seiner Freizeit spielt er gerne Tennis und fotografiert.

Neelam Koshiya ist ein Enterprise Solution Architect bei AWS. Ihr aktueller Fokus liegt darauf, Unternehmenskunden bei ihrer Cloud-Einführung für strategische Geschäftsergebnisse zu unterstützen. In ihrer Freizeit liest sie gerne und ist gerne im Freien.

spot_img

Neueste Intelligenz

spot_img