Resiliente Schnittstellen mit externen Prozessen mithilfe von Azure AD B2C
In diesem Artikel erhalten Sie einen Leitfaden zum Planen und Implementieren der RESTful-APIs, um Ihre Anwendung robuster gegen API-Ausfälle gestalten.
Sicherstellen der richtigen API-Platzierung
Verwenden Sie die IEF-Richtlinien (Identity Experience Framework), um ein externes System mithilfe eines technischen RESTful-API-Profils aufzurufen. Die IEF-Laufzeitumgebung steuert keine externen Systeme, was einen potenziellen Fehlerpunkt darstellt.
Verwalten externer Systeme mithilfe von APIs
Wenn Sie eine Schnittstelle für den Zugriff auf bestimmte Daten aufrufen, stellen Sie sicher, dass die Daten die Authentifizierungsentscheidung steuern. Bewerten Sie, ob die Informationen für die Funktionalität der Anwendung von entscheidender Bedeutung sind. Beispielsweise eine E-Commerce- im Vergleich zu einer sekundären Funktion, etwa einer Verwaltungsfunktion. Wenn die Informationen nicht für die Authentifizierung benötigt werden, sollten Sie erwägen, den Aufruf in die Anwendungslogik zu verschieben.
Wenn die Daten für die Authentifizierung relativ statisch sind, die Datenmenge gering ist, und die Daten nicht externalisiert werden sollen, fügen Sie sie in das Verzeichnis ein.
Entfernen Sie nach Möglichkeit API-Aufrufe aus dem vorab authentifizierten Pfad. Wenn dies nicht möglich ist, aktivieren Sie für APIs Schutzvorkehrungen vor DoS- (Denial-of-Service) und DDoS-Angriffen (Distributed Denial-of-Service). Angreifer können die Anmeldeseite laden und versuchen, Ihre API mit DoS-Angriffen zu überfluten, um so Ihre Anwendung zu deaktivieren. Verwenden Sie z. B. ein CAPTCHA (Completely Automated Public Turing Test To Tell Computers and Humans Apart) in Ihrem Anmelde- und Registrierungsflow.
Verwenden Sie die API-Connectors des Flows für die Benutzerregistrierung zur Integration in Web-APIs, nach dem Erstellen eines Verbunds mit einem Identitätsanbieter oder bevor Sie den Benutzer erstellen. Da Benutzerflows getestet sind, müssen Sie auf dieser Ebene keine Funktions-, Leistungs- oder Skalierungstests durchführen. Testen Sie Ihre Anwendungen auf Funktionalität, Leistung und Skalierung.
Technische Profile der RESTful-API von Microsoft Entra B2C stellen kein Zwischenspeicherungsverhalten zur Verfügung. Stattdessen implementiert das RESTful-API-Profil eine in die Richtlinie integrierte Wiederholungslogik sowie einen Timeout.
Für APIs, die Daten schreiben müssen, verwenden Sie einen Task, damit solche Tasks von einem Hintergrundworker ausgeführt werden. Verwenden Sie Dienste wie Azure-Warteschlangen. Diese Vorgehensweise führt dazu, dass die Rückgabe der API effizient erfolgt und die Ausführungsleistung der Richtlinie erhöht wird.
API-Fehler
Da sich die APIs außerhalb des Azure AD B2C-Systems befinden, müssen Sie die Fehlerbehandlung innerhalb des technischen Profils aktivieren. Stellen Sie sicher, dass Benutzer Informationen erhalten und die Anwendung ordnungsgemäß mit Fehlern umgehen kann.
Behandeln von API-Fehlern
Da APIs aus verschiedenen Gründen fehlschlagen können, sollten Sie dafür sorgen, dass Ihre Anwendung resilient ist. Geben Sie eine HTTP 4xx-Fehlermeldung zurück, wenn die API die Anforderung nicht abschließen kann. Versuchen Sie in der Azure AD B2C-Richtlinie, die Nichtverfügbarkeit der API zu behandeln, und rendern Sie ggf. eine abgespeckte Benutzeroberfläche.
Behandeln Sie vorübergehende Fehler ordnungsgemäß. Verwenden Sie das RESTful-API-Profil, um Fehlermeldungen für verschiedene Störfälle zu konfigurieren.
Überwachen und verwenden Sie die CI/CD (Continuous Integration/Continuous Delivery). Rotieren Sie die Zugriffsanmeldeinformationen für APIs (z. B. Kennwörter und Zertifikate), die von der Engine des technischen Profils verwendet werden.
Bewährte Methoden für die API-Verwaltung
Greifen Sie beim Bereitstellen der REST-APIs und beim Konfigurieren des technische RESTful-Profils auf die folgenden bewährten Methoden zurück, um gängige Fehler zu vermeiden.
API Management
API Management (APIM) veröffentlicht, verwaltet und analysiert Ihre APIs. APIM übernimmt die Authentifizierung für den sicheren Zugriff auf Back-End-Dienste und -Microservices. Verwenden Sie ein API-Gateway zum horizontalen Hochskalieren von API-Bereitstellungen, Zwischenspeicherung und Lastenausgleich.
Es wird empfohlen, das richtige Token abzurufen, anstatt für jede API mehrere Aufrufe auszuführen, und eine Azure APIM-API zu sichern.