Sichern von Anwendungen mit fortlaufender Zugriffsauswertung

Dieser Artikel hilft Ihnen als Entwickler, die Anwendungssicherheit mit fortlaufender Zugriffsevaluierung zu verbessern. Sie erfahren, wie Sie die Zero Trust-Unterstützung in Ihren Apps sicherstellen, die die Autorisierung für den Zugriff auf Ressourcen erhalten, wenn sie Zugriffstoken von Microsoft Entra ID erwerben.

Wenn Microsoft Entra ID diese Zugriffstoken ausgibt, wertet es die Bedingungen für diese Autorisierung vollständig aus. Die Microsoft Entra-ID führt standardmäßige Autorisierungsaktionen aus, z. . B. die Sicherstellung der Zustimmung für die Anwendung, jedes Mal, wenn Token für anfängliche Tokenanforderungen ausgegeben werden, und wenn Token aktualisiert werden.

Microsoft Entra ID verwendet in erster Linie JSON-Webtoken (JWT) für Zugriffstoken. Eine Ressourcen-API kann das JWT decodieren, validieren und interpretieren, ohne bei jedem Aufruf der Ressourcen-API Microsoft Entra ID aufrufen zu müssen. Der JWT-Standard definiert einen Exp-Anspruch, der die Ablaufzeit bei oder nach dem Ablauf identifiziert, wenn Sie die Verarbeitung des JWT-Tokens nicht akzeptieren dürfen. Microsoft Entra-Token laufen standardmäßig 60 bis 90 Minuten nach dem Problem ab. Ihre Anwendungen müssen Zugriffstoken für den Zeitraum zwischenspeichern und verwenden, in dem Microsoft Entra ID die Autorisierungsbedingungen nicht auswertet.

Auswerten von Bedingungen außerhalb des Ausstellens des Tokens

Microsoft-Kunden haben Bedenken hinsichtlich Verzögerungen zwischen Benutzerbedingungsänderungen und Richtlinienänderungserzwingung geäußert, wenn Microsoft Entra ID Token ausgibt. Dieser Ansatz mit eingeschränkter Tokenlebensdauer kann die Benutzererfahrung und Zuverlässigkeit beeinträchtigen, ohne Risiken zu vermeiden.

Eine Lösung besteht darin, Bedingungen für jeden Aufruf einer geschützten Ressource auszuwerten. Die am häufigsten verwendete Methode zum Implementieren dieser Erzwingung ist die Tokenintrospektion. Die Tokenintrospektion verwendet kein JWT-Format für das Token. Stattdessen verwendet die Tokenintrospektion eine undurchsichtige Zeichenfolge, die von der Ressourcen-API nicht interpretiert werden kann. Die Ressourcen-API sendet das Token bei jedem Aufruf an den Identitätsanbieter. Der Identitätsanbieter sucht dann nach Bedingungen und gibt Daten zurück, die die Ressourcen-API zum Abschließen des Vorgangs verwenden kann. Dieser Prozess kann teuer sein, da jeder API-Aufruf eine weitere Roundtrip-Webanforderung hinzufügt.

Um diese Ausgaben mit fortlaufender Zugriffsauswertung (Continuous Access Evaluation, CAE) zu beheben, kann eine Ressourcen-API Ereignisse überwachen, die Microsoft Entra ID über die Token pusht, die Microsoft Entra ID für die Ressourcen-API ausgibt. Wenn Ihre Anwendung beispielsweise die Microsoft Graph-API aufruft, kann Microsoft Graph überprüfen, ob Ereignisse von Microsoft Entra ID über das Token empfangen wurden. Wenn sich die Bedingungen der ursprünglichen Authentifizierung geändert haben und sich der Benutzer erneut authentifizieren muss, gibt Microsoft Graph einen Fehler an die aufrufende App zurück.

Microsoft Entra ID sendet ein Ereignis an CAE-fähige Microsoft-Ressourcen, wenn eines dieser Ereignisse auftritt:

  • Benutzerkonto gelöscht oder deaktiviert
  • Das Benutzerkennwort wurde geändert oder zurückgesetzt.
  • Aktivieren der Multi-Faktor-Authentifizierung für Benutzer
  • Administrator sperrt explizit alle Aktualisierungstoken für einen Benutzer.
  • Microsoft Entra ID Protection erkennt erhöhtes Benutzerrisiko

Darüber hinaus können caE-fähige Microsoft-Ressourcen standortbasierte Richtlinien für bedingten Zugriff erzwingen.

Verbessern der Anwendungssicherheit und Resilienz mit CAE

Das Video Sicherere und stabilere Apps basierend auf Microsoft Entra Continuous Access Evaluation, veranschaulicht das Erstellen einer Client-App mit CAE-Unterstützung.

Schauen Sie sich die obige Präsentation an, um zu erfahren, wie Anwendungen funktionieren, wenn Sie die moderne Authentifizierung mit den folgenden Schritten verwenden:

  • Funktionsweise von Anwendungen bei Verwendung der modernen Authentifizierung
  • Die App fragt Microsoft Identity nach Token.
  • App empfängt ein Zugriffstoken
  • App ruft API/Autorisierung mit JWT auf
  • Introspektion
  • Shared Signale und Ereignisse
  • Auswertung kritischer Ereignisse
  • Auswertung von Richtlinien für bedingten Zugriff
  • Fortlaufende Zugriffsevaluierung aufgerufen
  • Forderungsabfrage

Die kontinuierliche Zugriffsauswertung ermöglicht die Autorisierung einer Anwendung für den Zugriff auf eine Ressource, die außerhalb der Lebensdauer des Zugriffstokens widerrufen wurde. Beispielsweise verfügt eine Anwendung über ein Token, das für 75 weitere Minuten gültig ist. Ein Benutzer hat einen Zustand mit hohem Risiko aufgrund verletzter Anmeldeinformationen. CaE blockiert den Zugriff der App auf die Ressource, sodass der Benutzer erneut authentifiziert werden muss, bevor er fortfahren kann. Damit erreicht CAE sein Hauptziel, die App-Sicherheit zu verbessern.

Da der Zugriff auf eine Ressource außerhalb der Lebensdauer eines Tokens widerrufen werden kann, kann Microsoft Entra ID Token für eine längere Lebensdauer ausstellen. Für Apps, die CAE unterstützen, kann Microsoft Entra ID Token ausgeben, die bis zu 28 Stunden gültig sind. Obwohl diese längere Tokenlebensdauer die Resilienz der App nicht verbessert, reduziert sie die Anwendungskosten, da die App Token viel seltener anfordern muss.

CAE verbessert die Resilienz einer App gegenüber Problemen, die beim Abrufen eines Zugriffstokens von Microsoft Entra ID auftreten könnten. Wenn möglich, gibt Microsoft Entra ID eine Aktualisierungszeit als Teil einer Tokenantwort aus, die ein Zugriffstoken enthält. Microsoft Authentication Libraries (MSAL) verwenden diese Aktualisierungszeit, um das Token proaktiv zu aktualisieren. Die Aktualisierungszeit ist ein Bruchteil (in der Regel die Hälfte) der Ablaufzeit des Tokens. Solange MSAL das Zugriffstoken vor der Ablaufzeit des Tokens aktualisieren kann, ist die App stabil für Aktualisierungsprobleme des Tokens.

Wenn eine App z. B. CAE unterstützt, gibt Microsoft Entra ID ein Token aus, das 24 Stunden gültig ist und die App autorisiert, Microsoft Graph aufzurufen. Microsoft Entra ID weist MSAL dann an, das Token nach 12 Stunden proaktiv zu aktualisieren. Wenn MSAL versucht, das Zugriffstoken zu aktualisieren und dabei fehlschlägt, da das ursprüngliche Zugriffstoken noch 12 weitere Stunden gültig ist, ist die App stabiler für Probleme, wenn sie Token von Microsoft Entra ID abruft.

Implementieren der kontinuierlichen Zugriffsauswertung in Ihrer App

Wie unter Verwenden von APIs mit aktivierter kontinuierlicher Zugriffsauswertung in Ihren Anwendungen beschrieben, müssen sowohl Ihre App als auch die Ressourcen-API, auf die sie zugreift, CAE-fähig sein. Auch wenn Sie Ihren Code für die Nutzung einer Ressource mit aktivierter CAE vorbereiten, bedeutet das nicht, dass Sie keine APIs verwenden können, für die dieses Feature nicht aktiviert wurde. Anwendungen, die MSAL nicht verwenden, können Unterstützung für Anspruchsherausforderungen, Anspruchsanforderungen und Clientfunktionen zur Verwendung von CAE hinzufügen.

Nächste Schritte