Freigeben über


Sichern von Anwendungen mit fortlaufender Zugriffsevaluierung

Dieser Artikel hilft Ihnen als Entwickler bzw. Entwicklerin, die Anwendungssicherheit durch fortlaufende Zugriffsevaluierung zu verbessern. Sie erfahren, wie Sie die Zero Trust-Unterstützung in Ihren Apps sicherstellen, die eine 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. Microsoft Entra ID führt standardmäßige Autorisierungsaktionen aus, z. B. Sicherstellung der Zustimmung, jedes Mal, wenn Token für anfängliche Tokenanforderungen ausgegeben 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.

Evaluieren von Bedingungen außerhalb des Ausstellens von Token

Microsoft-Kunden machen Sie Gedanken über Verzögerungen zwischen Änderungen von Benutzerbedingungen und der Erzwingung von Richtlinienänderungen, 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 sie Ereignisse von Microsoft Entra ID in Bezug auf das Token empfangen hat. Wenn die Bedingungen der ursprünglichen Authentifizierung unterschiedlich sind und sich der Benutzer oder die Benutzerin 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:

  • Deaktiviertes oder gelöschtes Benutzerkonto
  • Das Benutzerkennwort wurde geändert oder zurückgesetzt.
  • Aktivierte Multi-Faktor-Authentifizierung pro 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 sich der Benutzer bzw. die Benutzerin erneut authentifizieren muss, bevor er oder sie 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. Diese längere Lebensdauer der Token verbessert zwar nicht die Ausfallsicherheit der Anwendung, senkt aber die Anwendungskosten, da die Anwendung viel seltener Token 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 Zugriffsevaluierung 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. Selbst wenn Sie Ihren Code auf die Nutzung einer Ressource mit aktivierter CAE vorbereiten,hindert Sie das nicht daran, APIs zu verwenden, 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