Shadow API Discovery – Übersicht

Übersicht

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 weder erheblich auf den Laufzeittraffic aus noch verlangsamt sie diesen. Allerdings können die Extremwertlatenzen des Traffics über beobachtete Load-Balancer erheblich beeinträchtigt werden.

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 APIs zur Verwaltung von Shadow API Discovery.

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.

Damit Sie dieses Feature verwenden können, 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 Management Viewer (roles/apim.viewer)

Zugriff auf Shadow API Discovery in der Apigee-Konsole

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 dann auf Beobachtungsjob erstellen.
  2. Wählen Sie eine oder mehrere Beobachtungsquellen aus oder klicken Sie unten unter Beobachtungsquelle(n) auf Beobachtungsquelle erstellen, um neue Quellspeicherorte zu erstellen. Der Erstellungsvorgang der Beobachtungsquelle kann einige Minuten dauern.

    Beobachtungsquellen umfassen:
    Quellname: Ein Name, den Sie zur Identifizierung der Quelle angeben.
    Standort: Ein Standort, in dem Sie beobachten möchten. 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 das Subnetzwerk. Das Subnetzwerk muss sich in derselben Region wie der Standort der Beobachtungsquelle befinden.
  3. 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.
  4. 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 Hostname der API. 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-IPs: IP-Adressen der Server, auf denen die gefundenen APIs gehostet werden.
  • Quellstandorte:Die Quellstandorte, an denen der Traffic beobachtet wurde.
  • Letztes Ereignis erkannt (UTC): Datum und Uhrzeit der Erkennung der letzten Anfrage an die API.
  • Tags:Eine Liste der Tags, die Sie oder eine andere Person erstellt haben, um diese Beobachtung mit einem Label zu versehen. Weitere Informationen finden Sie unter Tags verwenden.
  • Aktionen:Zusätzliche Aktionen, die für jede Beobachtung verfügbar sind.

Beobachtungsdetails ansehen

Wenn Sie in der Liste der Beobachtungen auf den Hostnamen klicken, wird die Seite mit den Beobachtungsdetails angezeigt.

Details zum Beobachtungsjob von Shadow API Discovery

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, zu der der Beobachtungsjob erstellt wurde.
    • Tags:Verwenden Sie Tags, um die Ergebnisse von Beobachtungsjobs zu organisieren.
    • 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 letzte Datum und die letzte Uhrzeit, zu der die Anfrage an diesen API-Vorgang beobachtet wurde.

Tags verwenden

Mit Tags können Sie Beobachtungsergebnisse kategorisieren. Tags sind Metadaten und dienen nur dem Tracking. Sie ändern nichts an den Beobachtungsergebnissen und lösen keine Aktionen aus. Wenn Sie beispielsweise das Tag „Maßnahme erforderlich“ hinzufügen, werden keine Benachrichtigungen erstellt. Neue Beobachtungsergebnisse haben keine Tags.

Tags haben folgende Eigenschaften:

  • Sie können dasselbe Tag mehreren Beobachtungsergebnissen hinzufügen.
  • Tagnamen können Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen, einschließlich Leerzeichen, enthalten.
  • Nachdem ein Tag erstellt wurde, kann der Name nicht mehr geändert werden. Entfernen Sie das Tag und erstellen Sie es neu, um es umzubenennen.
  • Wenn Sie ein Tag aus allen Beobachtungsergebnissen entfernen, wird es aus dem System gelöscht.

Sie können Tags entweder über die Beobachtungsliste oder die Seite mit den Beobachtungsdetails verwalten.

So verwalten Sie Tags über die Liste der API-Beobachtungen:

  • Sehen Sie sich die vorhandenen Tags in der Spalte Tags in der Beobachtungsliste an.
  • Wenn Sie die Tags für ein Ergebnis verwalten möchten, wählen Sie in der Zeile für das Ergebnis im Menü Aktionen die Option Tags verwalten aus.
  • Wenn Sie die Tags für ein oder mehrere Ergebnisse gleichzeitig verwalten möchten, wählen Sie mehrere Ergebnisse aus der Liste aus und dann oben in der Liste Tags verwalten.

So verwalten Sie Tags über die Details zur API-Beobachtung:

  • Prüfen Sie die vorhandenen Tags im Abschnitt Tags.
  • Wenn Sie Tags hinzufügen oder verwalten möchten, wählen Sie oben auf der Seite Tags verwalten aus.

Um Tags hinzuzufügen, wählen Sie in der Seitenleiste Tags verwalten vorhandene Tags aus oder fügen Sie neue hinzu. Wenn Sie Tags entfernen möchten, heben Sie die Auswahl auf. Klicken Sie auf Speichern, um die neuen Tags zu speichern.

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 kann nur eine Beobachtungsquelle verwendet werden. Maximal sind drei Beobachtungsjobs möglich. Wenn Sie mehr als drei Beobachtungsjobs benötigen, wenden Sie sich an Googles Cloud Customer Care, 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 für Shadow API Discovery-Jobs nur einige Regionen unterstützt. Hier finden Sie eine Liste der unterstützten Regionen für diese Anfrage:
    curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
    https://apim.googleapis.com/v1alpha/projects/{PROJECT}/locations