Interne IAM-Lösung zur Benutzer- und Zugriffsverwaltung

Interne IAM-Lösung zur Benutzer- und Zugriffsverwaltung

Information
Standort:
Weltweit
Branche:
Personalplanung und Rekrutierung
Plattform:
Webentwicklung
Arbeitsmodell:
Internes Projekt
Projektdauer:
Laufendes Projekt
Team-Mitglieder:
Ein middle Frontend Entwickler und ein Senior Backend Entwickler
ID:
0
Verwendete Technologien
RabbitMQ
Prime NG
Hangfire
Asp.net core
OpenIddict
Active Directory
Angular
MS SQL

Über den Kunden

Dieses Projekt ist eine interne Lösung, die unternehmensweit bei Elinext, einem internationalen Unternehmen in der Entwicklung individueller Software, eingesetzt wird. Elinext entwickelt maßgeschneiderte Softwarelösungen für Unternehmen und setzt dabei auf moderne Technologien und Best Practices. In bestimmten Fällen sind die intern entwickelten Produkte so effektiv, dass sie firmenintern breit verwendet werden. Die Identity Management Software ist eine von über 20 firmeneigenen Anwendungen, die täglich innerhalb des Unternehmens genutzt werden.

Geschäftliche Herausforderung

Elinext ist ein international aufgestelltes Unternehmen mit zahlreichen Mitarbeitern, Standorten und Anwendungen. Eine skalierbare Identity Access Management Lösung (IAM Lösung) ist dabei essenziell, um Benutzer, deren Rollen und Gruppenzugehörigkeiten effizient zu verwalten. Ohne eine spezialisierte IAM Software wäre dies praktisch unmöglich.

Die bisher genutzte Lösung basierte auf IdentityServer-Architektur. Sie brachte einige Herausforderungen mit sich:

  • Die Erweiterung um neue Features war komplex.

  • Mit dem Wechsel der Bibliothek IdentityServer4 zu einem kommerziellen Lizenzmodell wurde die Pflege der Lösung kostspieliger.

Aus diesem Grund fiel die strategische Entscheidung, die Anwendung von Grund auf neu zu entwickeln. Die neue IAM Lösung basiert auf OpenIddict, ist flexibel erweiterbar und erfüllt moderne Anforderungen an Sicherheit, Benutzerverwaltung und Zugriffsmanagement.

Projektverlauf

Das Projekt wurde in mehreren Phasen mit agiler Methodik umgesetzt. Eine Kanban-ähnliche Arbeitsweise wurde gewählt, da sie optimal auf Projekte mit offener Zeitplanung und Teamrotation passt. Viele technische Komponenten mussten neu erlernt oder tiefgreifend erforscht werden. Die Entwicklung wurde flexibel gehalten, da die Anforderungen aufgrund zahlreicher Abhängigkeiten und Limitierungen oft angepasst wurden.

Phase 1 (Dezember 2023 – Januar 2024)

  • Entwicklung eines Minimum Viable Product (MVP)

  • Technische Erneuerung der vorhandenen Webanwendung

  • Verfeinerung und Optimierung aller bestehenden Module

Phase 1.1 (Januar 2024 – März 2024)

  • Login mit Zwei-Faktor-Authentifizierung (2FA)

  • Verwaltung von Scopes (Berechtigungsbereichen)

  • Applikationsmanagement für interne und externe Anwendungen

Phase 2 (April 2024 – Januar 2025)

  • Implementierung von Gruppenverwaltung

  • Benutzerdefinierte Rollen je Anwendung

  • Protokollierung sicherheitsrelevanter Aktionen (Audit Logging)

Technische Lösung: Aufbau der IAM Software

Die entwickelte Webanwendung unterstützt den OAuth 2.0 Standard und basiert auf modernen Prinzipien der Identitäts- und Zugriffsverwaltung. Sie besteht aus vier Hauptmodulen:

Identity-Modul

Dieses Modul steht allen Mitarbeitenden zur Verfügung. Es umfasst:

  • Login-Seite mit 2-Faktor-Authentifizierung

  • Seite für Passwort-Wiederherstellung

  • Lockout-Seite für gesperrte Nutzer

  • Verwaltungsseite für:

    • Persönliche Informationen

    • Passwortänderungen

    • 2FA-Konfiguration

    • Login-Verlauf und aktive Sessions

identify modul

Diese Funktionen stellen eine sichere und nachvollziehbare Benutzeridentitätsverwaltung sicher.

OAuth 2.0-Modul

Dieses Modul ist für die Autorisierung externer Anwendungen zuständig und ermöglicht das Ausstellen von Zugriffstoken. Enthalten sind:

  • Autorisierungs-Endpunkt zur Token- bzw. Code-Anforderung im Browser

  • Token-Endpunkt für programmatische Token-Anforderungen

  • UserInfo-Endpunkt zur Abfrage von Nutzerinformationen

  • Introspektions-Endpunkt zur Token-Validierung

  • Discovery-Endpunkt zur Abfrage von Metadaten

  • Token-Revokation zur Widerrufung von Zugriffstokens

  • End Session-Endpunkt für Single Sign-Out in Browser-Umgebungen

Autorisierung modul

Administrationsmodul

Dieses Modul richtet sich an Administratoren und ermöglicht die Verwaltung zentraler Objekte der Anwendung:

  • Nutzer

  • verbundene Anwendungen

  • Scopes (Zugriffsbereiche)

  • Firmen

  • Gruppen

Die vollständige Benutzer- und Gruppenverwaltung wird hier umgesetzt.

Administrationsmodul

Modul für externe APIs

Dieses Modul bietet REST-Schnittstellen zur Datenabfrage durch externe Anwendungen. Verwaltete Objekte sind:

  • Externe Firmen

  • Länder

  • Gruppen

  • Gruppenmitglieder

  • Gruppenrollen

  • Rollen

  • Nutzer

So lässt sich die IAM Lösung problemlos in andere Business Software oder Unternehmenssysteme integrieren.

Geschäftlicher Nutzen

Die neue Identity Management Software bringt signifikante Vorteile:

  • Höhere Performance und Skalierbarkeit → Effizientere und stabilere Benutzer- und Rollenverwaltung

  • Keine Bugs und bessere Wartbarkeit

  • Verbesserte Protokollierung → schnellere Fehlersuche und Reaktion auf Sicherheitsereignisse

  • Zentrale, modulare Plattform für Identitäts- und Autorisierungsmanagement

Diese Lösung ist zukunftssicher und kann sowohl intern als auch extern eingesetzt werden – beispielsweise bei der Integration in Cloud-Anwendungen oder anderen Plattformen, die Sicherheits- und Zugriffskontrolle benötigen.

Zukünftige Erweiterungen

  • MFA auf Basis des FIDO-Standards (Passkey-kompatible Authentifizierung)
  • Erweiterte Protokollierung
  • Verbesserte UI/UX für eine intuitive Benutzerführung
Kontaktieren Sie unsere Experten für die Entwicklung ähnlicher Projekte.
1-143
2-138
3-118
4-99
5-88
6-68
7-59
8-53
9-42
10-38
11-39
12-29
13-19
14-14
15-11
16-7
17-4
Haben Sie vor, ein gleiches Projekt zu schaffen?
Haben Sie eine Projektidee? Lassen Sie uns darüber diskutieren
Kontakt


    Insert math as
    Block
    Inline
    Additional settings
    Formula color
    Text color
    #333333
    Type math using LaTeX
    Preview
    \({}\)
    Nothing to preview
    Insert