Was ist ein API-Endpunkt?

Ein API-Endpunkt ist das Ende einer API-Verbindung, an dem ein API-Aufruf empfangen wird.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Einen „API-Endpunkt“ definieren
  • Verstehen, warum API-Endpunkte URLs verwenden
  • Nachvollziehen, warum die Authentifizierung von API-Endpunkten so wichtig ist

Ähnliche Inhalte


Möchten Sie noch mehr erfahren?

Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!

Lesen Sie die Cloudflare Datenschutzrichtlinie, um zu erfahren, wie wir Ihre persönlichen Daten sammeln und verarbeiten.

Link zum Artikel kopieren

Was ist ein API-Endpunkt?

Ein Application Programming Interface (API) ist eine Möglichkeit für eine Anwendung, einen Dienst von einer anderen Anwendung anzufordern. APIs sorgen dafür, dass Entwickler bereits vorhandene Anwendungsfunktionen nicht neu erstellen müssen. Ein API-Endpunkt ist der Ort, an dem diese Anfragen (bekannt als API-Aufrufe) erfüllt werden.

Wenn Alice und Bob miteinander telefonieren, gelangen die Worte von Alice zu Bob und umgekehrt. Alice richtet ihre Worte an den „Endpunkt“ des Gesprächs: Bob.

Alice: „Hallo, Bob“ ----------> Bob

Analog dazu ist eine API-Integration wie ein Gespräch. Aber anstatt „Hallo“ zu sagen, sagt ein API-Client so etwas wie „Ich benötige einige Daten“ zum API-Server – er macht einen API-Aufruf. Der API-Server-Endpunkt sagt dann „Hier sind die Daten“ – eine API-Antwort. Und API-Endpunkte sind keine physischen Einheiten wie Alice und Bob; sie existieren in Software, nicht in Hardware.

API-Server und API-Clients

APIs werden auf einem oder mehreren Servern gehostet. Server sind spezialisierte Computer, die Daten speichern und Softwareprogramme ausführen. Jeder Server stellt Daten, Inhalte und Softwarefunktionen an andere Geräte über das Internet bereit („serve“). Der API-Endpunkt wird fast immer auf einem Server gehostet.

Das andere Ende der API-Verbindung ist der API-Client – die Einheit, die Dienste von der API anfordert. Manche nennen dies den API-„Benutzer“, obwohl die meisten API-Aufrufe automatisiert sind.

Woher kennt ein API-Client den Endpunkt des Servers?

Um nutzbar zu sein, muss eine API über eine Dokumentation verfügen. Die Dokumentation gibt unter anderem an, welche Arten von Anfragen die API akzeptiert, was die API tun kann, wie sie ihre Antworten formatiert und welche Endpunkte sie hat. Entwickler können die Dokumentation einer API prüfen und diese Informationen bei der Erstellung ihrer Anwendungen berücksichtigen.

Ein Beispiel dafür finden Sie in der API-Dokumentation von Cloudflare, einschließlich der Endpunkte, hier: https://api.cloudflare.com/

Wie verwenden APIs URLs?

Uniform Resource Locators (URLs) werden für verschiedene Zwecke im Internet verwendet, unter anderem zum Auffinden von Webseiten. Die URL für die amerikanisch-englische Version dieser Webseite lautet zum Beispiel https://www.cloudflare.com/learning/security/api/what-is-api-endpoint/. Wenn ein Benutzer diese URL in seinen Browser eingibt, weiß der Browser, wo er diese Webseite finden kann und kann sie laden.

URLs bezeichnen auch API-Endpunkte. Wenn Alice und Bob miteinander telefonieren, ruft Alice Bob unter Bobs Telefonnummer an. Ähnlich ist eine API-Endpunkt-URL wie eine Telefonnummer für API-Anrufe.

Ein API-Server kann einen oder mehrere API-Endpunkte hosten, d.h. er akzeptiert und verarbeitet Aufrufe, die an die URLs dieser Endpunkte gerichtet sind. API-Clients brauchen auch eine URL, damit der API-Server weiß, wohin er seine Antworten senden soll, so wie Bob und Alice eine Telefonnummer brauchen, damit die beiden miteinander telefonieren können. Entwickler legen diese URL bei der Erstellung ihrer Anwendungen fest.

Eine URL enthält immer das Protokoll auf der Anwendungsebene, wie z.B. HTTP, mit dem sie erreicht wird. Die meisten Web-APIs verwenden HTTP, so dass dies in der URL des API-Endpunkts enthalten ist.

Wie authentifizieren sich API-Endpunkte und Clients?

Eine richtig konzipierte API akzeptiert nicht einfach API-Aufrufe von jedem. Dadurch wäre der API-Server offen für den Empfang schädlicher Daten von Angreifern. Außerdem kostet die API-Nutzung oft Geld, so dass der API-Server in diesen Fällen prüfen muss, ob der API-Aufruf von einem zahlenden Kunden stammt.

Darum muss der API-Server sicherstellen, dass der API-Client, von dem der Aufruf kommt, bekannt und vertrauenswürdig ist. Dies geschieht über Authentifizierung.

Authentifizierung ist der Prozess der Identitätsüberprüfung. Genauso wie es mehrere Möglichkeiten für einen menschlichen Benutzer gibt, sich bei einem System zu authentifizieren, gibt es vier primäre Wege, wie API-Endpunkte die Authentifizierung erzwingen können:

  1. API-Schlüssel: Dem API-Client wird ein Schlüssel oder eine eindeutige Zeichenfolge zugewiesen, die nur er und der API-Dienst kennen. Wenn der API-Client einen API-Aufruf an den Server-Endpunkt sendet, enthält er den Schlüssel, damit der Server weiß, woher der Aufruf stammt.
  2. Grundlegende Authentifizierung (Benutzername und Kennwort): Ähnlich wie bei der Schlüsselmethode richtet der API-Client einen Benutzernamen und ein Kennwort beim API-Dienst ein und bezieht diese Anmeldedaten in API-Aufrufe ein.
  3. OAuth-Token: Anstatt eine Authentifizierung vom Client zu verlangen, kann ein API-Server ein Authentifizierungs-Token von einem vertrauenswürdigen Authentifizierungsserver über das OAuth-Protokoll erhalten.
  4. Mutual TLS: TLS ist das Protokoll, das beim Laden von Webseiten eine authentifizierte Verbindung zwischen Client und Server herstellt. Es kann auch beide Seiten einer API-Integration authentifizieren.

In vielen Fällen ist Mutual TLS die effektivste Authentifizierungsmethode. Zum einen werden sowohl der Endpunkt als auch der Client authentifiziert, nicht nur der Client. So können beide Seiten sicher sein, dass sie Daten von einer legitimen Quelle erhalten. Außerdem werden private Schlüssel verwendet. Diese werden niemals zwischen Endpunkten ausgetauscht und können daher während der Übertragung nicht abgefangen werden. Andererseits können API-Schlüssel, Passwörter und Token dupliziert oder gestohlen werden.

Cloudflare API Shield verwendet Mutual TLS zur Authentifizierung von API-Endpunkten und -Clients und hilft so, beide Seiten vor einem Angriff zu schützen. API Shield bietet außerdem verschiedene andere API-Sicherheitsfunktionen, einschließlich Durchsatzbegrenzung und Verhinderung von Datenverlust (Data Loss Prevention – DLP)erfahren Sie mehr über API Shield.