Shadow API Discovery – Übersicht

Überblick

Apigee Shadow API Discovery findet Schatten-APIs (auch als nicht dokumentierte APIs bezeichnet) in Ihrer vorhandenen Cloud-Infrastruktur. Schatten-APIs stellen ein Sicherheitsrisiko für Ihr System dar, da sie möglicherweise nicht gesichert, nicht überwacht und nicht gewartet werden.

Die Verwendung von Shadow API Discovery wirkt sich nicht erheblich auf den Laufzeittraffic aus oder verlangsamt ihn nicht.

Die Anleitung zum Einrichten und Aufrufen der Ergebnisse von API-Beobachtungen basiert auf der Apigee-UI in der Cloud Console. Sie können auch die Apigee Management APIs (APIM) verwenden, um die Shadow API Discovery zu verwalten. Siehe Shadow API-Discovery Management APIs.

Shadow API Discovery aktivieren

Shadow API Discovery ist Teil des Add-ons "Apigee Advanced API Security". Für die Shadow API Discovery gilt das Add-on pro Organisation. Für Abokunden ist es bei der Apigee-Organisation verfügbar. „Pay as you go“-Kunden müssen das Add-on jedoch für mindestens eine Umgebung aktivieren. Shadow API Discovery ist für Apigee-Evaluierungsumgebungen nicht verfügbar.

Wenn Sie diese Funktion verwenden möchten, müssen Sie das Add-on aktivieren. Als Abo-Kunde können Sie das Add-on für Ihre Organisation aktivieren. Weitere Informationen finden Sie unter Erweiterte API-Sicherheit für Abo-Organisationen verwalten. Wenn Sie „Pay as you go“-Kunde sind, können Sie das Add-on in Ihren geeigneten Umgebungen aktivieren. Weitere Informationen finden Sie unter Add-on Erweiterte API-Sicherheits verwalten.

Erforderliche Rollen und Berechtigungen für Shadow API Discovery

In der folgenden Tabelle sind die erforderlichen Rollen für Aufgaben im Zusammenhang mit der Shadow API Discovery aufgeführt.

Aufgabe Erforderliche Rollen
Erweiterte API-Sicherheit aktivieren oder deaktivieren Apigee-Organisationsadministrator (roles/apigee.admin)
Beobachtungsquellen und Jobs erstellen API-Verwaltungsadministrator (roles/apim.admin)
Beobachtungen ansehen API-Verwaltungsbetrachter (roles/apim.viewer)

Berechtigung für P4SA hinzufügen

Fügen Sie dem produkt- und projektspezifischen Dienstkonto (P4SA) für Ihr Projekt eine Rolle hinzu, damit Sie Beobachtungsjobs aktivieren können. Fügen Sie service-PROJECT_NUMBER@gcp-sa-apim.iam.gserviceaccount.com die Rolle APIM API Discovery-Dienst-Agent hinzu:

gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-apim.iam.gserviceaccount.com" \
--role="roles/apim.apiDiscoveryServiceAgent"
.

Auf Shadow API Discovery in der Apigee-Konsole zugreifen

So greifen Sie in der Apigee Console auf die Shadow API Discovery zu:

  1. Melden Sie sich in der Apigee-UI in der Cloud Console an.
  2. Wechseln Sie zu API-Beobachtung > Shadow API.
  3. Auf der Hauptseite werden alle API-Beobachtungen angezeigt, die bereits generiert wurden. Wählen Sie die Tabs API-Beobachtungen und Beobachtungsjobs aus, um zwischen dem Ansehen von Ergebnissen und Beobachtungsjobs erstellen zu wechseln.

Beobachtungsjobs erstellen

Beobachtungsjobs bieten die Anleitung, die Shadow API Discovery für die Suche nach Schatten-APIs benötigt. So erstellen Sie einen Beobachtungsjob: Beachten Sie die Verhaltensweisen und Einschränkungen, die für die Erstellung von Beobachtungsjobs gelten.

  1. Wählen Sie den Tab Beobachtungsjobs aus und klicken Sie auf Beobachtungsjob erstellen.
  2. Wählen Sie eine oder mehrere Beobachtungsquellen aus.
    oder
  3. Klicken Sie unten in der Liste Beobachtungsquelle(n) auf Beobachtungsquelle erstellen, um bei Bedarf neue Quellstandorte zu erstellen. Beachten Sie, dass der Erstellungsprozess der Beobachtungsquelle einige Minuten dauern kann.

    Quellname: Ein Name, den Sie zum Identifizieren der Quelle angeben.
    Standort: Ein Standort, an dem beobachtet werden soll. Wenn Sie weitere Quellregionen einbeziehen, erhalten Sie in Ihrer Infrastruktur eine breitere Ansicht der APIs. Zu den Best Practices. An einem Standort kann nur eine Beobachtungsquelle erstellt werden.
    Netzwerk und Subnetzwerk: Das VPC-Netzwerk und Subnetzwerk. Das Subnetzwerk muss sich in derselben Region wie der Standort der Beobachtungsquelle befinden.
  4. Beobachtungsjob erstellen Geben Sie einen Namen für den Beobachtungsjob an. Dieser muss pro Standort eindeutig sein. Wählen Sie einen Standort aus, mit dem Sie den Ort für die Datenaggregation und -verarbeitung festlegen. Alle in den Quellregionen erfassten Daten werden gemäß den Google-Richtlinien zum Datenstandort in dieser Region verarbeitet und von dieser aus abgerufen. Das Erstellen eines neuen Beobachtungsjobs kann einige Minuten dauern.
  5. Beobachtungsjob aktivieren (optional) Sie können den Job beim Erstellen aktivieren. In diesem Fall wird er sofort beobachtet. Wenn Sie den Job nicht sofort aktivieren, können Sie den Beobachtungsjob später über die Liste der Beobachtungsjobs aktivieren.

Beobachtungsjobs aktivieren, deaktivieren und löschen

Wählen Sie eine der folgenden Optionen aus, um zu ändern, ob ein vorhandener Beobachtungsjob aktiviert (aktiv) ist: Aktivieren or Deaktivieren aus dem Aktionen in der Zeile für den jeweiligen Job im Beobachtungsjobs Seite.

Wählen Sie zum Löschen eines vorhandenen Beobachtungsjobs aus dem Menü Aktionen für diesen Job Löschen aus. Durch das Löschen eines Jobs werden auch die mit dem Job verknüpften Beobachtungsergebnisse entfernt. Wenn Sie also die Ergebnisse beibehalten möchten, während der Job nicht fortgesetzt wird, deaktivieren Sie ihn, anstatt ihn zu löschen. Aktive Jobs können nicht gelöscht werden. Deaktivieren Sie zuerst aktive Jobs, wenn Sie diese löschen müssen.

API-Beobachtungen ansehen

Wählen Sie zum Anzeigen von API-Beobachtungen für aktivierte Beobachtungsjobs den Tab API-Beobachtungen und dann den Beobachtungsjob aus der Liste aus.

Seite „API-Beobachtungen“

Die Beobachtungsliste enthält folgende Werte:

  • Hostname: Der API-Hostname. Klicken Sie auf den Hostnamen, um die Beobachtungsdetails aufzurufen.
  • API-Vorgänge:Die Anzahl der beobachteten API-Vorgänge (z. B. GET- oder PUT-Anfragen).
  • Server-IP-Adressen:IP-Adressen der Server, die die erkannten APIs hosten.
  • Quellort: Die Quellorte, an denen der Traffic beobachtet wurde.
  • Letztes Ereignis erkannt (UTC): Datum und Uhrzeit der letzten Anfrage an die API erkannt.

Beobachtungsdetails ansehen

Nachdem Sie in der Beobachtungsliste auf den Hostnamen geklickt haben, wird die Seite mit den Beobachtungsdetails angezeigt.

Details zur API-Beobachtung

Diese Seite enthält die folgenden Informationen zur Beobachtung.

  • Im Zusammenfassungsfeld oben auf der Seite wird Folgendes angezeigt:
    • API-Beobachtungs-ID: Dies ist eine Apigee-spezifische Kennung.
    • API-Vorgänge: Eine Beschreibung dieses Felds finden Sie unter API-Beobachtungen ansehen.
    • Erstellungszeit (UTC): Datum und Uhrzeit der Erstellung des Beobachtungsjobs.
    • Zeit der letzten Erkennung des Ereignisses: Eine Beschreibung dieses Felds finden Sie unter API-Beobachtungen ansehen.
  • Eine Tabelle mit bestimmten API-Vorgängen, die bei dieser erkannten API erkannt wurden. Für jede Anfrage werden folgende Informationen angezeigt:
    • Pfad: Der Anfragepfad.
    • Methode: Die Anfragemethode (z. B. GET, PUT usw.).
    • Anzahl: Die Anzahl der Anfragen an diesen Pfad mit dieser Methode.
    • Transaktionsanfrage:Der Anfragetext aus Traffic-Daten. Enthält die Anfrageheader und die zugehörigen Transaktionszahlen für diesen API-Vorgang.
    • Transaktionsantwortheader: Die Antwortheader aus Trafficdaten. Enthält die Antwortheader und die zugehörigen Transaktionszahlen für diesen API-Vorgang
    • Transaktionsantwortcodes: Die Antwortcodes und die entsprechende Anzahl der Antworten mit diesem Code für diesen API-Vorgang.
    • Zuerst erfasst (UTC): Das erste Datum und die erste Uhrzeit, zu der die Anfrage an diesen API-Vorgang beobachtet wurde.
    • Zuletzt erfasst (UTC): Das Datum und die Uhrzeit, zu der die Anfrage an diesen API-Vorgang zuletzt beobachtet wurde.

Best Practices

Für die Arbeit mit Shadow API Discovery empfehlen wir die folgenden Vorgehensweisen:

  • Halten Sie sich an die Regeln zum Datenstandort Ihrer Organisation, um sicherzustellen, dass alle geltenden Vorschriften und Gesetze eingehalten werden.
  • Aggregieren Sie so viele Quellregionen wie möglich, um die beste regionenübergreifende Korrelation zu erhalten. Wenn Sie weitere Quellregionen in Ihre Beobachtungsjobs aufnehmen, erhalten Sie eine umfassendere Ansicht der APIs in Ihrer Infrastruktur.

Verhaltensweisen und Einschränkungen

In diesem Abschnitt werden Verhaltensweisen und Einschränkungen für Shadow API Discovery aufgeführt:

  • Die Verwendung von Shadow API Discovery garantiert nicht die Beobachtung von 100% des Traffics oder die Erkennung aller Schatten-APIs.
  • Shadow API Discovery findet Schatten-APIs nur in Ihrer Google Cloud-Infrastruktur.
  • Shadow API Discovery unterstützt derzeit nur regionale Anwendungs-Load-Balancer.
  • Shadow API Discovery findet HTTP-Protokoll-APIs, nicht gRPC.
  • Warnung: Shadow API Discovery unterstützt Load-Balancer in einem Netzwerk pro Projekt. Wenn Sie Shadow API Discovery für ein Projekt mit mehreren Netzwerken aktivieren, kann es zu unerwartetem Verhalten kommen.
  • Warnung: Das Aktivieren der Shadow API Discovery kann zu einer Latenzerhöhung bei Load-Balancer-Aufrufen in allen Netzwerken im Projekt führen.
  • Es kann bis zu 60 Minuten dauern, bis ein neu aktivierter Beobachtungsjob Traffic erkennt.
  • In Ihren beobachteten Projekten muss Traffic durch die Load-Balancer fließen, um Schatten-APIs zu erkennen. Die Shadow API Discovery erfordert mindestens zwischen einigen Minuten und einigen Stunden Trafficerkennung, je nach Trafficvolumen. Bei geringem Traffic sind längere Beobachtungszeiten erforderlich, bevor Ergebnisse verfügbar sind.
  • Pro Region gibt es ein Limit von einer einzelnen Beobachtungsquelle und maximal drei Beobachtungsjobs. Wenn Sie mehr als drei Beobachtungsjobs benötigen, wenden Sie sich an den Apigee-Support, um den Anwendungsfall zu besprechen.
  • Beobachtungsjobs können erstellt und deaktiviert oder gelöscht, aber nicht bearbeitet werden. Wenn Sie einen Beobachtungsjob ändern müssen, löschen Sie ihn und erstellen Sie ihn neu.
  • Derzeit werden nur einige Regionen für Shadow API Discovery-Jobs unterstützt.