Was ist das?
Ein API (Application Programming Interface) ist eine Verbindung zwischen Computern oder Computerprogrammen. Es stellt ein Software-Interface dar, das anderen Software-Modulen einen Dienst anbietet. Das kann sowohl die Spezifikation (eine Dokumentation darüber, wie Anfragen und Antworten aussehen sollen) als auch die konkrete Implementierung sein.
Im Gegensatz zu einer Benutzeroberfläche (Graphical User Interface – GUI), über die Menschen mit einem Computer interagieren, verbindet eine API Software-Systeme miteinander. Sie wird von Programmierern genutzt, nicht direkt vom Endanwender. Eine API besteht aus Aufrufen (auch Methoden, Subroutinen, Requests oder Endpoints genannt), die bestimmte Funktionen bereitstellen. Die API-Spezifikation definiert diese Aufrufe und legt fest, wie sie genutzt werden. Ein wesentliches Ziel ist die Abstraktion: das System verbirgt interne Details und offenbart nur die relevanten Funktionen, sodass es auch bei internen Änderungen stabil bleibt.
Wie funktioniert das?
APIs operieren nach dem Client-Server-Prinzip: Eine anfragende Anwendung (Client) sendet eine Nachricht an einen bestimmten Endpunkt der API. Der Server interpretiert die Anfrage, führt interne Prozesse aus und sendet eine strukturierte Antwort zurück.
Die meisten modernen APIs, wie Microsoft Graph, verwenden das REST-Modell und laufen über HTTP. Microsoft beschreibt Graph als das Gateway zu Daten und Intelligenz in Microsoft-Cloud-Diensten. Es stellt einen einzigen Endpunkt https://graph.microsoft.com bereit, über den Entwickler auf „personenbezogene Daten und Einblicke“ aus Microsoft 365, Windows und Enterprise Mobility + Security zugreifen können.
Über REST-Aufrufe oder bereitgestellte SDKs können Anwendungen Daten abrufen oder Aktionen ausführen. Graph kümmert sich dabei um Themen wie Identitäts- und Zugriffsverwaltung, Compliance und Sicherheit, um Organisationen vor Datenverlust zu schützen.
Beispiele anhand von Microsoft Graph:
Nutzerprofil abrufen:
Mit GET https://graph.microsoft.com/v1.0/me kann eine Anwendung das Profil des angemeldeten Benutzers abfragen. Microsoft listet diesen Aufruf als häufiges Szenario.
E-Mails auslesen:
Über GET https://graph.microsoft.com/v1.0/me/messages erhält man die E-Mails des Nutzers.
Zusätzlich können Parameter wie $filter=importance eq 'high' für wichtige Nachrichten genutzt werden.
Kalendereinträge und Kontakte:
Mit GET https://graph.microsoft.com/v1.0/me/events ruft man die Termine des Nutzers ab.
Ähnlich lassen sich Kontakte /contacts oder Dateien /drive/root/children abrufen.
Diese Beispiele zeigen, wie vielseitig ein API-Endpunkt sein kann.
Darüber hinaus können Daten kombiniert werden: Eine Anwendung kann die Teilnehmer eines Meetings abfragen, ihre Profile über Entra ID abrufen und dann auf weitere Ressourcen wie deren Vorgesetzte oder Gruppen zugreifen.
Warum ist das relevant?
APIs erleichtern die Vernetzung von Diensten – sie sind somit das Rückgrat digitaler Geschäftsprozesse. Gleichzeitig vergrößert die Vielzahl der Schnittstellen die Angriffsfläche. Das BSI warnt, dass viele API-Verbindungen ohne zuverlässige Sicherheitsmaßnahmen zu Datendiebstahl und zur Gefährdung der internen IT-Infrastruktur führen können.
APIs sind also zugleich Chance und Risiko – sie müssen mit geeigneter Zugriffskontrolle, Authentifizierung und Verschlüsselung geschützt werden. Microsoft Graph ist eine geschützte API, welche durch die Microsoft Identity Platform abgesichert ist und prüft, ob eine Anwendung autorisiert ist, den Graph aufzurufen.
Anwendungen müssen registriert werden und erhalten eindeutige IDs, Umleitungs-URIs und Zugangsdaten, um sich auszuweisen. Ohne diese Maßnahmen könnten unbefugte Programme sensible Informationen abrufen.
Hinweise zum sicheren Umgang
- Sichere Registrierung und Berechtigungen: Anwendungen sollten im Microsoft Entra Admin Center registriert und mit den minimal nötigen Berechtigungen ausgestattet werden. Für Graph sind verschiedene Zugriffsmodelle verfügbar –
Delegated Permissionsfür Aktionen im Namen eines Benutzers undApplication Permissionsfür dienstseitigen Zugriff. - HTTPS und Authentifizierung verwenden: Übertragen Sie API-Anfragen stets verschlüsselt und verwenden Sie sichere Authentifizierungsverfahren, z. B.
OAuth 2.0oder zertifikatbasierte Zugänge. - Einschränkungen und Monitoring: Implementieren Sie Limits und Protokollierung, um missbräuchliche Zugriffe zu erkennen.
- Regelmäßige Sicherheitsprüfungen: Laut BSI sollten APIs regelmäßig durch unabhängige Prüfungen bewertet werden, um Schwachstellen zu entdecken und zu beheben. Dies verbessert das Sicherheitsniveau und stärkt das Vertrauen von Kunden und Partnern.
Durch diese Maßnahmen können APIs wie Microsoft Graph ihre Innovationskraft entfalten, ohne zur Schwachstelle in Ihrer IT-Landschaft zu werden.
