Orbit IT-Forum: Auf dem Weg zum Arbeitsplatz der Zukunft
27.09.17 - 27.09.17
In Leverkusen

AUTOMATE IT 2017
28.09.17 - 28.09.17
In Darmstadt

it-sa 2017
10.10.17 - 12.10.17
In Nürnberg

3. Esslinger Forum: Das Internet der Dinge
17.10.17 - 17.10.17
In Esslingen

Transformation World
19.10.17 - 20.10.17
In Heidelberg

API BusinessmanViele Unternehmen unterschätzen heutzutage noch den Nutzen von offenen Anwendungsprogrammierschnittstellen (APIs). Dabei ist die Rechnung äußerst simpel. Die manuelle Programmierung einschließlich des Testings ist immer zeit-, kosten und arbeitsinensiv und für Fehler anfällig. Das gilt natürlich auch für die Schnittstellenprogrammierung. 

Aktuell finden mehr als 75 Prozent des Datenverkehrs auf Twitter und 65 Prozent des Datenverkehrs auf Salesforce.com über APIs statt – Tendenz steigend. Doch APIs eignen sich nicht nur für das Social Web: Laut ProgrammableWeb.com werden zurzeit mehr als 2.000 offene APIs öffentlich über das Internet angeboten, 2005 waren es erst 32. Zahlreichen Start-ups gelang es, zu Plattformen zu werden, indem sie APIs für externe Entwickler offenlegten und so Entwickler-Communities ermöglichten und förderten. Dies bedeutet eine höhere Reichweite und Umsatz sowie eine bessere Kundenbindung.

Das Analystenhaus KuppingerCole ist in seinem Leadership Compass: API Security Management der Meinung, dass es für Unternehmen durchaus schwierig ist eine gut geplante API-Strategie zu entwickeln und eine zuverlässige API-Infrastruktur, deren Business-Funktionalität sicher mit Partnern, Kunden und Entwicklern geteilt werden kann, aufzubauen. Aber auch wenn der Markt für API Management-Lösungen noch relativ jung ist, so sind die Anwendungen bereits ziemlich ausgereift. Die momentan auf dem Markt verfügbaren Applikationen verfügen laut KuppingerCole über umfangreiche Funktionen: Sie sind robust, leistungsfähig und skalierbar – und sie bieten eine enorme Erfolgschance für Unternehmen, sich vom Wettbewerb zu unterscheiden. Doch welche Lösung ist die richtige? Auf was sollten Organisationen bei der Auswahl einer solchen Anwendung achten? Die Antwort: Das A und O sind die Funktionsanforderungen an eine API-Management-Lösung. 

API Security 

Bei der Suche nach einer API-Management-Lösung sind Security-Funktionen häufig das, woran potenzielle Käufer zuerst denken – vor allem dann, wenn der Käufer ein Unternehmen ist, das unabhängig von Standards wie SOAP, REST oder JSON wichtige Informationen schützen möchte, die über eine API offengelegt werden sollen.

Zuerst steht hier das Thema Access Control. Für APIs, die für Partner oder Zulieferer zugänglich sind, bedeutet dies folgendes:

  • Akzeptieren unterschiedlicher Typen von Credentials (Anmeldeinformationen) für die Authentifizierung
  • Ausgeben unterschiedlicher Typen von Credentials an Entwickler
  • Unterstützen unterschiedlicher Ressourcen-Autorisierungsschemas, einschließlich OAuth und SAML

Für Unternehmen ist diese Herausforderung umso größer, da sie diese Daten mit ihrer vorhandenen Identitätsmanagementinfrastruktur integrieren müssen. Daher besteht das Ziel darin, sowohl Flexibilität als auch Integration zu erreichen. Die API Policies sollten eine Möglichkeit bieten, unterschiedliche Arten von Zugriffs-Tokens zu unterstützen und sogar von einem Typ von API-Entwicklerschlüssel zu einem anderen zu wechseln, ohne Codes schreiben oder verändern zu müssen. Die Lösung sollte in der Lage sein, zahlreiche unterschiedliche OAuth-Schemas zu unterstützen (angesichts der wachsenden Wichtigkeit dieses Standards für APIs), aber auch unterschiedliche Arten von OAuth, wie HMAC, und Kombinationen mit Unternehmensstandards wie SAML. Natürlich muss die API-Management-Anwendung auch mit bereits vorhandenen Identitätsmanagementlösungen zusammenarbeiten.

API Security ist jedoch mehr als Zugangskontrolle. APIs stellen die Tür dar, durch die Programme auf Unternehmensdaten zugreifen können. Daher muss eine API-Management-Lösung dem Unternehmensarchitekten oder dem Security-Administrator eine spezifische Steuerung darüber ermöglichen, welche Daten wem offengelegt werden, wie diese Informationen vertraulich bleiben und wie sie beim Transfer gesichert werden können. Schließlich beruht die API Security auf der Integrität der API, der Daten sowie der bereitgestellten Funktionalität. Daher muss sichergestellt sein, dass APIs nicht durch Angriffe, Denial-of-Service-Attacken oder Missbrauch kompromittiert werden. Eine gute API-Management-Lösung bietet zahlreiche Steuerungsmechanismen für den Schutz vor Bedrohungen, mit denen die Zuverlässigkeit und Genauigkeit der API und der durch sie ermöglichten Kommunikation sichergestellt werden können. 

API-Lebenszyklusmanagement 

APIs werden nicht in einem Vakuum erstellt. Wie jede Anwendung benötigen APIs ihren eigenen Entwicklungslebenszyklus, vom Design über Codierung und Testing bis zur Bereitstellung. Änderungen an einer API müssen während des gesamten Entwicklungslebenszyklus verfolgt werden, unabhängig davon, ob beim Entwicklungsprozess das Wasserfallmodell oder ein agiler Ansatz verwendet wird. Daher benötigt jede API-Managementlösung, die die Anforderungen eines Unternehmens erfüllen soll, Workflows mit einer umfangreichen Funktionalität für folgende Aspekte: 

  • Bereitstellung von APIs von der Entwicklung bis zur Produktion
  • Management der zugehörigen Metadaten wie Policies.
  • Management von Zugriffsrechten, wie z.B. für Änderungen
  • Umgang mit Genehmigungen und Rollbacks

Für eine API-Managementlösung mit vollständiger Funktionalität sollte es auch möglich sein, mehrere Versionen gleichzeitig in der Produktion zu verwenden, entweder, um ältere Clients zu berücksichtigen, oder um unterschiedliche Zugriffstechnologien wie SOAP, REST und JSON zu berücksichtigen.

Ein Framework für das Lebenszyklusmanagement, das ausschließlich die Entwicklung von On-Premise Lösungen unterstützt, erfüllt jedoch die Anforderungen der meisten heutigen Unternehmen nicht. Da öffentliche und private Clouds immer wichtiger werden, benötigen Unternehmen eine API-Management-Lösung, die Testing und Produktion in der Cloud einbezieht. 

API Governance 

Governance ist ein umfassender Begriff, der häufig verwendet wird, um zahlreiche unterschiedliche Anforderungen an Management, Prozesse und Transparenz zu erfassen. Er definiert die Nutzungsbedingungen, unter denen eine API für einen oder mehrere Anwender offengelegt wird. Während „Governance“ Security- und Lebenszykluskonzepte umfasst, beschreibt sie auch unterschiedliche Anforderungen an SLAs, Kontrolle und Reporting. Außerdem ist sie im Fall von API-Management-Lösungen relevant für die weitergehende Notwendigkeit, Nutzungs- und Zugriffsrechte für API Daten und Funktionalitäten differenziert unterschiedlichen Anwendern zur Verfügung zu stellen. Berücksichtigt werden sollten hierbei deren Identitäten, technische Leistungsfähigkeit, Abonnement-Levels oder sonstigen Transaktionskontexte, die in Richtlinien definiert werden können.

Bei der effektiven API-Governance geht es damit vor allem um Flexibilität. Die Technologie, mit der gesteuert wird, wie APIs gemeinsam genutzt werden, sollte sich den Präferenzen und Prozessen des Unternehmens anpassen – und nicht umgekehrt. Dies bedeutet, dass eine API-Management-Lösung auf der Grundlage einer richtlinienbasierten Konfiguration mit SLA s, Security, Protokollen oder sonstigen Faktoren umgehen können sollte. Richtlinien bilden das Kernstück der Flexibilität und stellen die implementierungs- und versionsübergreifende Konsistenz sicher. API-Managementlösungen, die Administratoren nur allgemein definierte Steuerungsmechanismen ohne eine IDE mit vollständigen Richtlinien bieten, schränken zu stark ein, was gesteuert werden kann und wie. 

Betriebliche Anforderungen an eine API-Managementlösung

Da eine API-Management-Lösung häufig die einzige technische Schicht darstellt die eine Unternehmens-APIs von der Außenwelt trennt, ist das Security-Level, das die Anwendung für APIs bereitstellen kann, nur so stark wie die Applikationssicherheit selbst. Wenn die Lösung kompromittiert wird, ist die für die APIs gebotene Security gleichermaßen kompromittiert. 

Security 

Da diese Anwendungen als Bindeglied zwischen der Außenwelt und den internen APIs dienen sollen, wird bei einer Bewertung häufig als Erstes analysiert, ob die Lösung selbst kompromittiert werden kann. Dies hängt davon ab, welche Art von Penetration-Testing für die Lösung durchgeführt wurde, wie der Zugriff auf die Lösung eingeschränkt werden kann und ob sie wichtige Schwachstellenprüfungen bestanden hat. Berücksichtigt werden sollten STIG-getestete Applikationen, PCI DSS-Zertifizierung bei Lösungen, die Kreditkarteninformationen weitergeben sollen, FIPS-Einhaltung sowie Common Criteria-Zertifizierung für Lösungen, die höhere Security-Standards für Behörden erfüllen müssen.

Für die meisten praktischen Zwecke ziehen Unternehmen häufig API-Managementlösungen in Betracht, die mithilfe eines Proxys zwischen externen Anforderungen und einer internen API vermitteln. Als Zwischenglieder bieten API-Proxys den Vorteil klarer, integrierter Steuerungspunkte und Isolierung. Dies vereinfacht Security-Zertifizierung und Verwaltung (genau wie bei Netzwerkfirewalls). Einige unterstützen auch Onboard-HSM für die Verschlüsselung von API-Schlüsseln. Da API-Schlüssel in vielen Szenarien den Großteil der Authentifizierung als Verteidigung gegen Missbrauch darstellen, ist es klug, diese Schlüssel durch Verschlüsselung vor Diebstahl zu schützen. 

Verwaltbarkeit der Lösung 

Anders als ein typisches Start-up, das seine gesamte Produktionswebseite beispielsweise über eine einzelne Amazon-Instanz oder einen kleinen Hosting Provider ausführt, verfügt ein großes Unternehmen im Allgemeinen über unterschiedliche Entwicklungs- und Produktionsumgebungen. Ein solches Unternehmen besitzt beispielsweise:

  • Geografisch verteilte Entwicklerteams
  • Produktionsumgebungen, die Rechenzentren weltweit einbeziehen
  • Cloudbasierte Disaster Recovery-Systeme

Daher steht die Verwaltbarkeit bei jeder Auswahlentscheidung im Mittelpunkt. Überlegungen etwa zum Management von Clustern von API-Proxys, zur geografischen Lastverteilung, zum Betrieb in einer Lights-Out-Rechenzentrumsumgebung und zum Umgang mit Spitzenlasten sind wichtiger als andere Leistungsmerkmale. Auch hier gilt: Nicht alle API-Management-Lösungen sind für die spezifischen Anforderungen eines Unternehmens entworfen. Daher sollte sorgfältig evaluiert werden, wie unterschiedliche Lösungen Cluster-Management, Failover, Lastspitzen, Disaster Recovery und andere betriebliche Managementfaktoren unterstützen, bevor ein bestimmter Weg eingeschlagen wird. 

Zuverlässigkeit der Lösung 

Sobald ein Unternehmen entscheidet APIs zu veröffentlichen wird es effektiv zu einem Service Provider für seine API-Nutzer. Diese Nutzer verlassen sich auf das Unternehmen und erwarten kontinuierliche Verfügbarkeit. Unternehmen legen daher bei der Auswahl seiner API-Management-Lösung großen Wert auf die Zuverlässigkeit. Dazu gehören auch eine integrierte Redundanz und ein extrem niedriges Risiko von Ausfallzeiten. Daher empfiehlt es sich, nur API-Management-Lösungen mit folgenden Möglichkeiten in Betracht zu ziehen:

  • Bereitstellung in den eigenen Rechenzentren und der privaten Cloud des Unternehmens
  • Unterstützung einer hochverfügbaren, redundanten Konfiguration, die kontinuierliche Verfügbarkeit sicherstellt 

Fazit: APIs erhöhen die Flexibilität 

Keine zwei Unternehmen haben jemals genau die gleichen Anforderungen oder Umgebungen. Daher kann eine unflexible Standardlösung für das API-Management niemals sinnvoll sein. Allen Unternehmen gemeinsam ist jedoch die Notwendigkeit, Exzellenz in Funktionalität und Betrieb zu erreichen. Die meisten Unternehmen, die beabsichtigen, APIs extern zu veröffentlichen, wünschen daher eine flexible, richtliniengesteuerte API-Managementlösung, die die strikten Produktionsvorgaben eines Service Providers erfüllt, dessen Services ununterbrochen, überall und mühelos verfügbar sein sollen.

Funktional gesehen erfordert dies eine API-Managementlösung, die eine Reihe unterschiedlicher Security-Voraussetzungen erfüllt, verbreitete Entwicklungslebenszyklen berücksichtigt, über Richtlinien gesteuert werden kann, das Entwickler-Onboarding ermöglicht, die Einbindung der Entwickler fördert und Monetisierungsoptionen unterstützt. Betrieblich gesehen sollte die API-Managementlösung sicher, einfach zu verwalten und zuverlässig sein.  

Andreas Gerst

 

 

Autor: Andreas Gerst, VP Pre-Sales, Central Europe, CA Technologies 

Frische IT-News gefällig?
IT Newsletter Hier bestellen:

Newsletter IT-Management
Strategien verfeinert mit profunden Beiträgen und frischen Analysen

Newsletter IT-Security
Pikante Fachartikel gewürzt mit Shortnews in Whitepaper-Bouquet