Entra-ID (SSO)
Microsoft Entra ID (früher Azure Active Directory)
- ist der zentrale Identitäts- und Zugriffsdienst der Microsoft-Azure-Plattform.
- Joiner/Leaver-Prozesse (On-Boarding, Off-Boarding) sind zentralisiert.
- Er verwaltet Benutzer, Gruppen, Anwendungen und Zugriffsrechte innerhalb eines Unternehmens.
- Für Mitarbeiter bedeutet dies eine einmalige Anmeldung (Single Sign-On, SSO) bei verschiedenen Anwendungen.
- Hexpertise nutzt Entra ID als moderne Authentifizierungs- und Autorisierungsplattform zur Realisierung eines SSO in Hexpertise Applikationen auf Azure-Resourcen.
Vorteile für Endbenutzer im Unternehmen
- Einmalige Anmeldung (Single Sign-On, SSO) an zahlreichen Anwendungen.
- Ein Benutzerkonto für Microsoft 365, interne Anwendungen und Cloud-Dienste.
- Anmeldung mit bekannten Unternehmensdaten.
- Unterstützung von Multi-Faktor-Authentifizierung (MFA).
- Selbstständiges Zurücksetzen von Kennwörtern.
- Sichere Anmeldung auch aus dem Homeoffice oder unterwegs.
- Einheitliche Benutzeroberfläche für alle Anwendungen.
- Der Anwender muss sich nicht mehr für jede Anwendung eigene Zugangsdaten merken.
Vorteile zentraler Prozesse für Unternehmen mit eigener Azure-Plattform bzw. zentralem Identity-Access-Management (IAM)
- Joiner-Prozess (On-Boarding): Ein neuer Mitarbeiter tritt in das Unternehmen ein. Der Benutzer wird einmal zentral in Microsoft Entra ID angelegt und erhält automatisch die benötigten Zugriffsrechte, Gruppenmitgliedschaften und Anwendungsberechtigungen.
- Leaver-Prozess (Off-Boarding): Ein Mitarbeiter verlässt das Unternehmen. Das Benutzerkonto wird zentral deaktiviert oder gelöscht. Dadurch verlieren sämtliche angebundenen Anwendungen, Systeme und Cloud-Dienste sofort den Zugriff.
- Mover-Prozess (Rollenwechsel): Auch Rollenwechsel innerhalb des Unternehmens können zentral verwaltet werden. Wechselt beispielsweise ein Mitarbeiter die Abteilung, werden die entsprechenden Berechtigungen automatisch angepasst.
- Der Vorteil eines zentralen Identitäts- und Zugriffdienstes besteht hauptsächlich darin, dass Benutzerkonten und Zugriffsrechte nicht mehr in jeder einzelnen Anwendung separat gepflegt werden müssen. Dies reduziert den Verwaltungsaufwand, erhöht die Sicherheit und verhindert, dass ehemalige Mitarbeiter versehentlich weiterhin Zugriff auf Unternehmensressourcen besitzen.
Technische Implementierung in den HexApp
- Hexpertise hat für das Microsoft .NET-Framework 4.8 eine zusätzliche Programmkomponente (hfcAuth)
- und einen dazugehörenden COM-Callable-Wrapper entwickelt und in die Basis-Bibliotheken der Hexpertise Applikationen eingebunden.
- Über diese COM-Komponente wird anhand der Voreinstellung in den INI-Parametern eine Verbindung zur Azure-Plattform hergestellt.
- Vorab muß auf der Azure-Plattform erstmalig/einmalig über die Entra-ID des Azure-Admins eine Applikation (HexAuth) registriert werden.
- Die Registrierung liefert einen sog. Directory (tenant) ID und eine Application (client) ID in Form eines GUID (z.B. 81839b0d-65ec-464e-80d2-7d470bb20ad1).
- Zusätzlich werden in HexAuth weitere (Berechtigungs-)Einstellungen, insbesondere zum Datenbankzugriff und zur KeyVault-Verwaltung ergänzt.
- Über hfcAuth (in den HexApp) und HexAuth (in Azure) erhalten unsere Applikationen dann Zugriff auf die verwalteten Ressourcen in Microsoft Azure
- Für tenantID und clientID wird von der Hexpertise Applikation beim Login ein sog. Token bei Azure angefordert, welches nur eine begrenzte Laufzeit (ca. 1h) besitzt.
- Dieses Token soll dann (der Theorie nach) in Applikationen als Ersatz für ein benutzerbezogenes Datenbank-Passwort verwendet werden können.
- Dies funktioniert jedoch - wie Tests ergaben und aus verschiedenen Gründen - nicht, so dass von Hexpertise eine Alternativ-Lösung erarbeitet wurde.
- Es wurden entsprechend der Applikationsrollen in den HexApp drei "technische User" (TecUser) eingeführt: hexsr_admin, hexsr_editor, hexsr_reader
- Diesen TecUsern werden vom Azure-Administrator via KeyVault-Einträgen Entra-ID-Benutzer zugeordnet.
- Nur bei erfolgreichem SSO und erfolgreichem Mapping auf den TecUser verbindet sich die HexApp zur Datenbank.
- Der zugeordnete TecUser arbeitet dann stellvertretend und rollenbasiert für den Entra-ID-User in der freigegebenen Datenbank mit den Hexpertise Applikationen
- Diese HexApp-/DB-Konzeption/Konstellation hat den Vorteil, dass alle Verwaltungsaufgaben zentralisiert in Azure erfolgen können.
- Die Datenbank-Anbindung erfolgt weiterhin (wie bisher) über ODBC (Open Database Connectivity)
- und über spezialisierte (auf dem Client in geeigneter 64-bit Architektur installierte) ODBC-Datenbanktreiber, wie z.B. psqlODBC
- Die Datenbank (hier PostgreSQL) muß nicht notwendigerweise in Azure gehostet/verwaltet werden.
- Die Entra-ID bzw. SSO-Authentifizierung könnte auch eigenständig und unabhängig von einer Datenbank in Azure genutzt werden.
- Andere Netzwerkdatenbanken (Microsoft SQL-Server, Oracle Express, IBM DB2 Express u.a.) wären prinzipbedingt ebenfalls einsetzbar.