04.01.2018

Die 3 Säulen des Azure API Managements

Technical Value

Ihr wollt das Azure API Management nutzen, um eure API abzusichern und als Service anzubieten? Wie ich euch bereits in meinem letzten Blogbeitrag Azure API Management: Funktionen und Vorteile beschrieben habe, eignet sich das Azure API Management perfekt dafür. Allerdings solltet ihr euch zunächst mit den Grundlagen des Azure API Managements vertraut machen.

Die Funktionen des Azure API Management, werden in drei Bereiche gegliedert:

  • API Gateway
  • Publisher Portal 
  • Developer Portal. 

Innerhalb dieser 3 Säulen werden die Objekte User, Groups, Products, Policies und API´s verarbeitet, verwaltet oder eingesehen.

1. Azure API Gateway

Das API Gateway bezeichnet die Engine, welche die im Publisher Portal festgelegten Anforderungen umsetzt und über das Developer Portal auslesbar macht. Über das Publisher Portal können folgende Objekte des Azure API Managements verwaltet werden: User, Groups, Products, Policies und APIs.

► User
Ein User bezeichnet einen Account, welcher sich gegenüber dem API Management über folgende Dienste authentifizieren kann:

  • Azure Active Directory
  • Azure Active Directory B2B
  • Facebook Login
  • Google Login
  • Microsoft Account
  • Twitter
  • Username und Passwort

Bei diesen Usern handelt es sich um Administratoren des API Managements und/oder um Entwickler, welche die API in ihrer Applikation nutzen wollen.

► Group
Groups fassen mehrere User zu Gruppen zusammen. Die Gruppen Administrators, Developers und Guests existieren immer und sind nicht veränderbar. Weitere Gruppen können bei Bedarf angelegt werden oder aus einem Azure Active Directory (AAD) Tenant übernommen werden.

Administratoren sind User, welche allumfänglichen Zugriff auf das API Management haben. Bei Developers handelt es sich um User, welche auf das Developer Portal zugreifen können und somit die bereitgestellten APIs in ihren Applications nutzen können. Für offene API-Endpunkte gibt es entsprechend die Group Guests, bei der es sich um nicht authentifizierte Nutzer handelt.

► Product
Ein Product bezeichnet eine Nutzungsausprägung. Typische Products sind beispielsweise „Free“, „Starter“ oder „Unlimited“, wodurch beispielsweise die Limits und Quotas definiert werden können. Products selber dienen im Azure API Management allerdings nur dazu für eine API verschiedene Policies definieren zu können.

► Policies
Policies beschreiben die Konfigurationen, welche angewendet werden, wenn ein API Call getätigt wird. Policies können dabei global, für bestimmte Products, für bestimmte APIs oder für bestimmte API Endpunkte definiert werden.

► API
Die APIs sind eine Sammlung von API-Definitionen, welche auf verschiedene APIs im Backend verweisen können. Dadurch ist es möglich viele verschiedene APIs in einem single point of contact (SPOC) zu bündeln und Entwicklern so eine bessere Erfahrung zu bieten.

2. Publisher Portal

Azure Publisher Portal

Im Publisher Portal des Azure API Managements haben Administratoren die Möglichkeit die APIs zu konfigurieren. Hier gibt es verschiedene Optionen. Das Azure API Management kann diverse APIs zu einem Endpunkt zusammenfassen. Dazu müssen die jeweiligen Endpunkte als API Definition im Azure API Management hinterlegt werden. Dies ist durch eine manuelle Pflege möglich oder durch den Import einer API. Der Import einer API ist entweder durch den Upload einer Spezifikation möglich oder durch den Verweis auf eine Azure Resource. Als Spezifikationen können Swagger 2.0 JSON-Dateien, WADL-Dateien und WSDL-Dateien verwendet werden, als Azure Resourcen können Logic Apps, API Apps und Functions Apps hinterlegt werden.

► User
In der User-Verwaltung können neue Nutzer angelegt werden oder Nutzer eingeladen werden. Um einen neuen Nutzer anzulegen muss ein Benutzername, ein Vor- und Nachname, eine E-Mail Adresse und ein Passwort hinterlegt werden. Soll ein User eingeladen werden, so genügt ein Vor- und Nachname sowie die E-Mail Adresse des einzuladenden Nutzers. Neu hinzugefügte Nutzer landen automatisch in der Group Developers. Angelegte Nutzer sind standardmäßig aktiv. Sie können allerdings auch geblockt oder gelöscht werden.

► Group
Auch können neue Groups angelegt werden. Dazu müssen ein Name und eine Beschreibung der Group definiert werden. Selbst erstellte Groups (Type Custom) können auch wieder gelöscht werden. Wenn die Authentifizierung über ein AAD eingerichtet ist, können auch Gruppen aus dem AAD hinzugefügt werden. Diese können ebenfalls wieder gelöscht werden und bleiben selbstverständlich im AAD existent.

► Product
Ein Product stellt ein Bundle dar, welches APIs für Nutzergruppen sichtbar macht und entsprechende Policies für die API anwendet. Es verfügt über einen Titel und eine Beschreibung. Außerdem kann über ein Product festgelegt werden, ob für dieses eine Registrierung erforderlich ist. Auch kann festgelegt werden, welche Groups das Product sehen und entsprechend eine Subscription erwerben können. Zusätzlich kann ein Product veröffentlicht werden oder eine Veröffentlichung zurückgenommen werden. Ein veröffentlichtes Product ist für Developer einsehbar und es können Subscriptions getätigt werden. Wird eine Veröffentlichung rückgängig gemacht, bleibt die Sichtbarkeit und Verfügbarkeit für Developers mit aktiver Subscription bestehen, es können aber keine neuen Subscriptions getätigt werden.

► Policies
Durch Policies wird die Nutzung der APIs konfiguriert. Es können Konfigurationen für alle APIs, für bestimmte Products, für bestimmte APIs, für bestimmte API Calls und Kombinationen aus Product, API und Call definiert werden. Typische Policies sind:

  • Setzen von CORS-Headern
  • Prüfen ob Request-Header gesetzt sind
  • Konvertierung von XML zu JSON
  • Limitierung der Aufrufrate
  • Limitierung der Quota
  • Setzen / Überschreiben von Response-Headern
  • Validierung von JWT Tokens
  • Bereitstellung von Mock-Responses

Dadurch ist es möglich Sicherheitsfeatures bereits vor dem eigentlichen API Call zu prüfen und so das Backend nicht unnötig zu belasten. Sicherheitsrelevante Infos, die ggf. durch das Backend übertragen werden, können ebenfalls um die API gefiltert werden um sich gegen das Internet abzuschirmen.

► Nutzungsanalysen
Zusätzlich zur Verwaltung bietet das Publisher Portal auch die Möglichkeit Analysen über die APIs einzusehen. So kann geprüft werden, welche Calls oft genutzt werden, welche Calls besonders viel Bandbreite benötigen, wie die Antwortzeiten sind etc.

3. Developer Portal

Azure Developer Portal

Das Developer Portal ist der erste Anlaufpunkt für Entwickler, welche die durch Azure API Management bereitgestellten APIs nutzen wollen. Hier können die API Definitionen eingesehen, Accounts für Applications erstellt und Nutzungsanalysen betrachtet werden.

► API Dokumentation
 Azure API Calls

Die Entwickler können die API Dokumentationen einsehen und sich die entsprechenden Swagger- oder WADL-Dateien herunterladen. Außerdem können die Calls direkt live ausprobiert werden. Auch werden Code-Beispiele aufgezeigt, wie man den Call aufrufen könnte. Sofern verfügbar, können die Entwickler hier auch beispielhafte Abfragen und Rückgaben einsehen. Somit wird die API für den Entwickler besser erlebbar und er kann ein Gespür für die Funktionen der API gewinnen.
 
Azure Nutzung des API Calls

► Products
Über die Products Seite können Entwickler einsehen, welche Products ihnen zur Verfügung stehen und was diese beinhalten. Außerdem kann direkt kontrolliert werden, welche und wie viele Subscriptions für das Product vorhanden sind.

► API Keys
Über ihr Profil können Entwickler die ihnen zugewiesenen API Keys zur Nutzung der Calls einsehen und diese ggf. erneuern. Durch die API Keys kann ein Call eindeutig zu einem Entwickler bzw. dessen App zugeordnet werden und entsprechende Policies umgesetzt werden. Entwickler haben außerdem in ihrem Profil die Möglichkeit eine Einsicht über das Nutzungsverhalten ihrer Applications abrufen. Hier werden die gleichen Metriken, allerdings auf den entsprechenden User gefiltert, wie im Publisher Portal aufgeführt.

Nun kennt ihr die wichtigsten Säulen und die verschiedenen Bereiche des Azure API Managements. Somit könnt ihr loslegen und das Azure API Management für eure Zwecke konfigurieren. Oder ihr wartet einfach ein wenig, bis ich euch Schritt für Schritt erkläre, wie die einzelnen Features implementiert werden können.

Neuen Kommentar schreiben

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.

Klartext

  • Keine HTML-Tags erlaubt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • Web page addresses and email addresses turn into links automatically.
Teilen auf

Newsletter Anmeldung

Abonnieren Sie unseren Newsletter!
Lassen Sie sich regelmäßig über alle Neuigkeiten rundum ORAYLIS und die BI- & Big-Data-Branche informieren.

Jetzt anmelden