Homepage > Journal > Azure AD B2C. Wie funktioniert es als Identitätsmanagementsystem?
Journal

Azure AD B2C. Wie funktioniert es als Identitätsmanagementsystem?

Wie gefällt Ihnen das:

Der Dienst Azure Active Directory (Azure AD) ist Teil der Cloud-Dienste, nämlich des Azure Cognitive Service von Microsoft. Azure AD B2C, über das ich später noch im Detail sprechen werde, ermöglicht es Benutzern, das Kundenidentitätsmanagement für Unternehmen, Web- und mobile Anwendungen auszulagern.

Die Entwicklung benutzerdefinierter Mechanismen für die verteilte Autorisierung scheint heute eine Verschwendung von Zeit und Geld zu sein. Azure AD B2C befasst sich mit diesem Problem.

Azure AD B2C bietet eine Single-Sign-On-Funktion und eine Multi-Faktor-Authentifizierung. Schauen wir uns diese Lösung aus der Perspektive des UX-Designs und des Benutzerflusses an.

Azure AD als Teil des Microsoft Cloud-Dienstes

Ich sollte gleich zu Beginn betonen, dass Azure AD B2C auf einer ausgereiften und bewährten Technologie — Microsoft Active Directory — basiert, die im Umfeld von Netzwerkadministratoren seit 1999 bekannt ist. Wie jede ausgereifte Technologie hat auch diese ihre Stärken und Schwächen.

Zu dieser Schwäche gehört meiner Meinung nach ein gewisser Mangel an Flexibilität (wie bei den meisten Technologien des Unternehmens aus Redmond). Im Gegensatz zum klassischen AD-Dienst (auch in der Cloud-Version) zeichnet sich B2C vor allem durch die Anpassung an die Realität von SaaS-Anwendungen in Form der vollständigen Unterstützung von OpenID aus.

Azure AD B2C unterstützt über 2800 vorintegrierte Anwendungen im Software-as-a-Service-Modell (SaaS). Ich beschloss zu prüfen, wie das Tool von Microsoft, das Identitätsmanagement bietet, wirklich funktioniert.

Ein Bild von einem anonymen Hacker
Wir sollten uns daran erinnern, dass unsere Produkte von Anfang an auf der Grundlage des Konzepts "Secure by Design" entwickelt werden sollten.

Azure AD Service: Erstmalige Anmeldung

Angenommen, wir übernehmen die Technologie in eine bestehende Anwendung, insbesondere wenn es sich um eine monolithische Anwendung ohne Unterstützung für OAuth2 handelt. In diesem Fall müssen wir uns auf die Änderung des Authentifizierungs- und Autorisierungsflusses in unserer Anwendung vorbereiten.

SaaS (Software as a Service) — eines der Cloud-Computing-Modelle. Die Anwendung wird auf den Computern des Diensteanbieters gespeichert und gestartet und den Benutzern über das Internet zur Verfügung gestellt.

Bei neuen Produkten empfehle ich, sich von Anfang an die Annahmen des Azure AD B2C Flow anzupassen. Auf diese Weise vermeiden Sie unnötigen Arbeitsaufwand und Verzögerungen bei dem Versuch, das Verhalten der Cloud-Lösung zu ändern.

Das erste Problem, auf das ich bei der Analyse stieß, war die begrenzte Möglichkeit, einzelne Elemente des Dienstes zu personalisieren.

Azure AD und eine Domäne

Der Benutzer meldet sich bei einem System an, indem er zu einer speziellen Anmeldeseite von Azure AD navigiert.

OpenID — ermöglicht es uns, das Problem der Verteilung von Benutzeridentitätselementen (z. B. Name, Nachname, E-Mail) zwischen mehreren Webdiensten zu lösen.

Eine große Überraschung war für mich, dass es derzeit keine Möglichkeit gibt, die Domäne zu ändern, auf die der Benutzer während des Autorisierungsprozesses trifft. Mit anderen Worten: Statt zu "diedomainmeinesprodukt.de" zu gehen, gehen sie zu einer anderen URL-Adresse.

Meiner Meinung nach könnte dies von einem informierten Benutzer negativ aufgenommen werden. Ein kurzer Blick auf die Benutzergemeinschaft von Azure AD zeigte, dass ich mit meiner negativen Meinung nicht allein bin.

Azure AD Service: E-Mail-Adressen und Inhalt der automatischen Nachrichten

In verschiedenen Phasen des Genehmigungsverfahrens kann es erforderlich sein, dem Benutzer eine E-Mail oder eine Textnachricht zu senden. Azure AD bietet leider nicht die Möglichkeit, diese E-Mail-Adressen oder Nachrichtenvorlagen zu personalisieren.

In der heutigen Zeit ist das ein seltsamer Ansatz. Dies erschwert die Konsistenz der Markenbildung und die externe Kommunikation der Ziellösung.

Außerdem stieß ich auf einige kleinere Probleme im Zusammenhang mit Ungereimtheiten im angenommenen Ablauf, über die ich weiter unten geschrieben habe.

Ein Tablet, das die Felder für die Anmeldung und das Passwort anzeigt
Azure AD B2B wird das Sicherheitsniveau in vielen Web- und Mobilanwendungen positiv beeinflussen. | Foto: Pxfuel.com

Benutzerdefinierte Multi-Faktor-Authentifizierungslogik

Die Registrierung des zweiten Elements der Authentifizierung erfolgt während der ersten Anmeldung bei einem System, nicht während der Registrierung. Dies wird von den Sicherheitsanforderungen diktiert und ergibt sich aus den üblichen Angriffsvektoren.

Ein Entwickler hat keinen Einfluss auf den Grad der Komplexität von Autorisierungscodes. Mir liegen auch keine vollständigen Informationen darüber vor, ob die SMS-Authentifizierung auch außerhalb der USA und Kanadas möglich ist.

Azure AD und benutzerdefinierte Logik zum Sperren von Konten (Smart Lockout)

Kommen wir nun zur Frage der Anmeldung und der Sicherheit. Als Cloud-Dienst verfügt Azure AD über eine fortschrittliche Logik zur Kontosperrung, die auf der Erkennung unerwünschten Verhaltens basiert. Der Administrator kann nur die grundlegenden Parameter dieses Mechanismus konfigurieren.

Es geht um die Anzahl der fehlgeschlagenen Anmeldeversuche und die Zeit, für die das Konto nach Überschreiten einer bestimmten Anzahl von fehlerhaften Anmeldungen gesperrt wird. Ich möchte noch hinzufügen, dass der Administrator die Sperrung des Kontos nicht aufheben kann — dieser Vorgang kann nur vom Benutzer während der Wiederherstellung des Passworts durchgeführt werden.

Er ergibt sich aus Sicherheitsanforderungen, und der Administrator hat keinen direkten Einfluss auf die Algorithmen dieses Mechanismus.

AZURE AD-Dienst: RBAC

RBAC — role-based access control (rollenbasierte Zugangskontrolle). Es erleichtert die Verwaltung der Personen, die Zugang zu den Ressourcen der Azure-Plattform haben, und der Aktivitäten, die diese Personen durchführen können.

Zu den unbestrittenen Vorteilen des Dienstes zähle ich auch die gesamte Maschinerie, die mit der Autorisierung der Aktionen der Benutzer verbunden ist. Ähnliche Lösungen konzentrieren sich in der Regel nur auf die Autorisierung des Benutzers und die Festlegung der Zugriffsebenen, und RBAC liegt im Ermessen der Anwendung und der Programmierer.

Azure AD B2C bietet in dieser Hinsicht enorme Möglichkeiten — mir ist kein Testszenario oder Anwendungsfall eingefallen, den ich nicht mit dem Rollensystem von Azure AD B2C realisieren könnte. Die Rollenverwaltung ist intuitiv, vollständig anpassbar und skalierbar und auf der API-Ebene der Lösung verfügbar.

API (Application Programming Interface) — eine Reihe von Regeln, die die Kommunikation zwischen Computerprogrammen definieren.

Anmeldung in Azure: Sicherheit direkt aus der Cloud

Der Hauptvorteil von Azure AD B2C (und anderen Cloud-basierten Lösungen) ist ein sehr hohes Sicherheitsniveau, das unvergleichlich höher ist als bei jedem anderen standardmäßig in Software-Frameworks bereitgestellten Autorisierungssystem.

Framework (Programmierplattform) — ein Gerüst für die Erstellung von Anwendungen, das wichtige Bibliotheken und Komponenten bereitstellt und auch die Struktur und Funktionsweise einer bestimmten Anwendung definiert.

ISO/IEC 27001 — eine internationale Norm, die am 14. Oktober 2005 bekannt gegeben wurde und die Managementsysteme für die Informationssicherheit standardisiert.

Wenn uns die Sicherheit der Daten unserer Benutzer am Herzen liegt, wenn wir die besten Industriestandards in Bezug auf Sicherheit erfüllen wollen (ISO 27001), dann sollten wir unbedingt eine solche Lösung wählen.

Azure AD-Logotyp

Azure AD ist in verschiedenen Preisstufen erhältlich | Foto: commons.wikimedia.org

Azure AD und Microservices

Meiner Meinung nach ist es im Zeitalter von Anwendungen, die auf Microservices und allen Arten von PaaS basieren, einfach eine Verschwendung, benutzerdefinierte Mechanismen für verteilte Autorisierung zu schreiben, ohne eine starke geschäftliche Rechtfertigung zu haben.

Denken wir daran, dass im Zeitalter der GDPR, der hohen Bedrohung und des Wissens von Cyberkriminellen, der Industriespionage und des immer stärkeren Bewusstseins der Benutzer für den Schutz ihrer persönlichen Daten unsere Produkte von Anfang an auf der Grundlage des Konzepts "Secure by Design" entwickelt werden sollten.

PaaS (Platform as a Service) — eines der Cloud-Computing-Modelle. Dieser Dienst ermöglicht es dem Anbieter, eine virtuelle Arbeitsumgebung gemeinsam zu nutzen; er wurde hauptsächlich für Programmierer entwickelt.

Dienste wie Microsoft Azure AD B2C sind sehr leistungsfähige Werkzeuge, die es uns ermöglichen, diese Annahmen zu den geringstmöglichen Kosten zu realisieren, selbst bei kleinen Programmierprojekten.

Wie sicher ist die Anmeldung mit Azure AD?

Die große Auswahl an Überwachungswerkzeugen und Sicherheitsaudits ermöglicht es dem Azure AD B2C Service, eine vollständige Kontrolle über den entscheidenden Teil unserer Anwendung zu bieten, nämlich ein System von Benutzern und Berechtigungen. Denken wir daran, dass die Erstellung einer ersten Iteration einer Anwendung nur der Anfang des langen Lebens eines jeden Programmierprojekts ist.

Im weiteren Verlauf des Lebenszyklus ist es von entscheidender Bedeutung, die Kontinuität der Dienste für unsere Benutzer zu gewährleisten, die Integrität ihrer Daten sicherzustellen und alle Sicherheitsverletzungen zu melden.

In der Zwischenzeit sind sich die meisten Unternehmer nicht der Komplikationen bewusst, die sich aus der Informationspflicht über die DSGVO ergeben.

Wann immer eine kritische Situation eintritt, ohne gute und umfassende Berichterstattungsinstrumente und einen Mechanismus zur Sicherheitsüberprüfung, sind wir erheblichen finanziellen und brandingbezogenen Verlusten ausgesetzt, die zur Schließung des Unternehmens führen können (insbesondere in den frühen Phasen des Bestehens).

Azure Active Directory | Microsoft Azure Tutorial for Beginners | Azure 70-533 Training | Edureka

Azure-Plattformen in jedem Unternehmen

Microsoft Active Directory B2C ist eine ausgereifte und bewährte Lösung, die das Sicherheitsniveau vieler Web- und Mobilanwendungen positiv beeinflussen wird.

Es ist relativ einfach von jedem Entwicklungsteam unabhängig von seiner Größe zu implementieren.

Leider ist es, wie bei den meisten Lösungen aus Redmond, ein wenig "eckig" und manchmal klobig. Wenn wir nicht viel Wert auf eine umfangreiche Branding-Anpassung der Benutzerregistrierung und des Anmeldeprozesses legen und uns der Microsoft-Ansatz gefällt oder wir andere Lösungen innerhalb von Azure verwenden, können wir uns getrost auf diese Technologie einlassen.

AWS Cognito — wie Azure AD — ermöglicht die Benutzerauthentifizierung für mobile und Webanwendungen.

Ich schlage vor, AWS Cognito als Alternative mit einer größeren Bandbreite an UX-Anpassungsoptionen (und aufgrund meiner persönlichen Vorlieben) in Betracht zu ziehen und zu analysieren.

Der Azure AD B2C-Dienst ist im ersten Monat kostenlos (bei 50 000 aktiven Benutzern). Später kann es maximal 0,00211 € pro Monat kosten. Beachten Sie jedoch, dass wir für die Multi-Faktor-Authentifizierung und SMS/Telefon-Ereignisse eine separate Gebühr zahlen, nämlich 0,026 € pro SMS/Telefon-Ereignis. Die genaue Preisliste wird auf der Website von Microsoft veröffentlicht.

Heldenaufnahme: Pxfuel.com

Sind Sie auf der Suche nach einem Webentwicklungsunternehmen?

Wie gefällt Ihnen das:
Journal / JPG / Jarek - avatar
Autor: Yaroslav Shatkevich
A programmer with 17 years of experience. Co-founder and CTO of The Story. Fascinated with planning programming works, author of numerous IT and DevOps specifications. Honored by Awwwards, awarded iF Design Award 2018. He works in Python, PHP, React and JavaScript technologies. He created over 90 web and mobile applications and dedicated systems.

Sind Sie an einer Zusammenarbeit mit uns interessiert? Werfen Sie einen Blick auf unser Portfolio