Azure-Anwendungen zum Benutzer bringen (2)

Lesezeit
3 Minuten
Bis jetzt gelesen

Azure-Anwendungen zum Benutzer bringen (2)

12.08.2024 - 07:17
Veröffentlicht in:

Anwendungen in Azure zu betreiben, kann dabei helfen, eine Überlastung des eigenen Rechenzentrums zu vermeiden. Oft lautet der Ansatz dabei "Lift and Shift", also das simple Verschieben einer Applikation in die Cloud. Wer mehr aus der Migration in die Wolke herausholen will – zum Beispiel Komfort beim Anmelden und zusätzliche Sicherheit durch Zero Trust – sollte aber einen genaueren Blick in die jeweilige App-Architektur werfen. Der zweite Teil der Serie beschreibt, wie Sie beim Migrieren von Anwendungen Conditional Access profitieren und was es dabei mit der Microsoft Authentication Library auf sich hat.

Von Conditional Access profitieren
Anwendungen, die bereits via SAML oder Open ID Connect mit einem bestehenden Identity Provider föderiert sind, lassen sich problemlos weiterbetreiben. Migrieren Sie die Anwendungen einfach nach Entra ID, um von Conditional Access und den SSO-Vorteilen durch die Bündelung von Anwendungen zu profitieren.

Für die allermeisten Applikationen gibt es in der Entra ID App Gallery ein vorgefertigtes Template, das Sie mit wenigen Klicks abschließend konfigurieren. Hierzu gibt Ihnen Entra ID die relevanten Informationen, die Sie dann in der App einpflegen: die URL zu den SAML-Föderation-Metadata oder die Angaben zu den OIDC- und OAuth2-Endpunkten.

Sie starten beim Umzug am besten mit der App Gallery in Entra ID oder mit dem manuellen Anlegen als "Application Registration". Damit erzeugen Sie die notwendige Registrierung der Anwendung, wonach Sie Details zur Föderierung und den Tokens, die die App vom Identity Provider verlangt, konfigurieren können. Auch die Verzahnung mit Conditional Access und die Nutzung von MFA oder Geräteverwaltung ist an die Registrierung gebunden – denn damit identifiziert Entra ID eine Anwendung eindeutig. Wenn die Anwendung im Namen des Benutzers weitere APIs aufrufen und nutzen können soll, definieren Sie die APIs und Zugriffsberechtigungen auch auf diesem Anwendungsobjekt.

Für Anwendungen, die mit ADFS integriert wurden, hat Microsoft mit Entra Connect Health für ADFS einen Agenten, der sowohl die Gesundheit der ADFS-Server als auch die Daten zur Nutzung der Applikationen protokolliert und im Azure-AD-Portal darstellt. Auf einen Blick zeigt das Tool, welche Anwendungen wie viele Anmeldungen auf ADFS verzeichnen und ob es komplexere Probleme bei der Migration der App von ADFS nach Entra ID zu erwarten gibt. Für ein tieferes Zusammenspiel mit Zero Trust und die Nutzung des Gerätestatus bietet es sich aber an, Apps von ADFS nach Entra ID zu überführen.

Bild 2: Für moderne Anwendungen definieren Sie API-Berechtigungen, Token-Konfiguration und Credentials in einer App-Registrierung.
Bild 2: Für moderne Anwendungen definieren Sie API-Berechtigungen, Token-Konfiguration und Credentials in einer App-Registrierung.
 

Anwendungen mit eigener Benutzerdatenbank sind kaum zu retten. Während Sie die Provisionierung von Entra ID in die Benutzerdatenbank noch steuern könnten, gibt es nur eine Verbesserung des Benutzererlebnisses für die Anmeldung an die Anwendung: Nutzen Mitarbeiter Edge als Browser, können Sie die Anwendung für (ein leicht eingeschränktes) Single Sign-on konfigurieren. Entra ID lernt dann die Anmeldedaten des Benutzers bei erstem Login zur App und speichert diese sicher in Entra ID. Beim nächsten Mal überträgt Entra ID dann über eine Browsererweiterung die Daten in die Logon-Maske der Anwendung und meldet den Benutzer an.

Modernisieren mit MSAL
Haben Sie sich dazu entschlossen, Ihre Anwendungen zu modernisieren und zu Entra ID zu bringen, sollten Sie zunächst sämtliche Abhängigkeiten analysieren: SSO, zusätzliche Informationen aus dem Directory, Daten aus anderen Quellen, Clientabhängigkeiten et cetera. Zumindest für SSO können Sie auf Starthilfe vertrauen, denn Microsoft stellt die Microsoft Authentication Library (MSAL) als Download für die allermeisten modernen Programmiersprachen zur Verfügung. Diese können Sie in Ihre Anwendungen einarbeiten.

Die Library handhabt alle OAuth2- und OpenID-Connect-Protokolldetails, die Anwendungen benötigen, um ein Token von Entra ID für eine Entra-integrierten Dienst wie eine andere Applikation oder eine API wie Graph zu erhalten. Dabei kümmert sich die Library auf Wunsch auch um die notwendigen Details wie gecachte Tokens in der Windows-Session oder öffnet den Browser für Benutzerinteraktion für MFA und Conditional Access automatisch, inklusive Geräteauthentifizierung. Ist der Code der Library integriert, ist Ihre App im Besitz eines Zugriffstokens, das Sie dann für weitere Anfragen an Entra ID nutzen.

Listing Token-Kontrolle mithilfe von MSALDas Codebeispiel im Listing-Kasten zeigt den Rumpf einer recht einfachen Nutzung von MSAL in C#. Sie versuchen zunächst, die Authentifizierung ohne Benutzeraktion mit Hilfe von schon bestehenden Refresh-Tokens oder einer bestehenden Session zu vollziehen – dazu geben Sie die API und deren Scope-Definitionen an, für die Sie ein Accesstoken erhalten wollen. Auch hinterlegen Sie den Benutzeraccount, um den es geht. Das sollte immer dann klappen, wenn kurz zuvor Authentifizierung stattgefunden hat oder der Client in Entra ID bekannt ist und langlebige Refresh Tokens besitzt und nicht neu authentifiziert werden muss.

Nur in Sonderfällen, etwa wenn der Client oder Benutzer noch nie zuvor gesehen, das Passwort geändert oder der MFA-Status invalidiert wurde, kommt es zu einer UI-Exception, die dann Benutzerinteraktion erfordert und um einen neuen Logon des Benutzers bittet.

ln/Florian Herzog

Im dritten Teil der Workshopserie geht es darum, wie Sie Datenquellen anbinden und Rollenzuweisungen und Mitgliedschaft prüfen. Im ersten Teil der Workshopserie schilderten wir, wie Sie die zu veröffentlichende Anwendung genau unter die Lupe nehmen.

Ähnliche Beiträge

Azure-Anwendungen zum Benutzer bringen (3)

Anwendungen in Azure zu betreiben, kann dabei helfen, eine Überlastung des eigenen Rechenzentrums zu vermeiden. Oft lautet der Ansatz dabei "Lift and Shift". Wer mehr aus der Migration in die Wolke herausholen will, sollte aber einen genaueren Blick in die jeweilige App-Architektur werfen. Im drittel und letzten Teil der Workshopserie geht es darum, wie Sie Datenquellen anbinden und Rollenzuweisungen und Mitgliedschaft prüfen.

Azure-Anwendungen zum Benutzer bringen (1)

Anwendungen in Azure zu betreiben, kann dabei helfen, eine Überlastung des eigenen Rechenzentrums zu vermeiden. Oft lautet der Ansatz dabei "Lift and Shift", also das simple Verschieben einer Applikation in die Cloud. Wer mehr aus der Migration in die Wolke herausholen will, sollte aber einen genaueren Blick in die jeweilige App-Architektur werfen. Der erste Teil der Workshopserie schildert, wie Sie die zu veröffentlichende Anwendung genau unter die Lupe nehmen.

Microsoft Azure Virtual Desktop (3)

Microsofts Azure Virtual Desktopstellt virtualisierte Desktops und Anwendungen als Clouddienst bereit. Auf Basis der Terminaldienste können Anwender so mit jedem Gerät auf ihre gewohnte Arbeitsumgebung zugreifen. Dabei reicht ein Windows-Image für mehrere parallele Anwendersitzungen. Im dritten und letzten Workshop-Teil zeigen wir, wie Sie VMs im Pool managen und wie das Tool WVDAdmin die Verwaltung vereinfachen kann.