Ereignisse
9. Apr., 15 Uhr - 10. Apr., 12 Uhr
Code the Future with AI and connect with Java peers and experts at JDConf 2025.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Der Tokenschutz (in der Branche manchmal als Tokenbindung bezeichnet) versucht, Angriffe über Tokendiebstahl zu reduzieren, indem sichergestellt wird, dass ein Token nur vom Zielgerät verwendet werden kann. Wenn ein Angreifer ein Token durch Hijacking oder Replay stehlen kann, kann er die Identität seines Opfers annehmen, bis das Token abläuft oder widerrufen wird. Tokendiebstahl kommt zwar relativ selten vor, der Schaden kann allerdings erheblich sein.
Der Tokenschutz schafft eine kryptografisch sichere Bindung zwischen dem Token und dem Gerät (geheimer Clientschlüssel), für das es ausgestellt wird. Ohne den geheimen Clientschlüssel ist das gebundene Token nutzlos. Wenn ein Benutzer ein Windows 10-Gerät oder neueres Gerät in Microsoft Entra ID registriert, ist seine primäre Identität an das Gerät gebunden. Dies bedeutet, dass eine Richtlinie sicherstellen kann, dass nur gebundene Anmeldesitzungstoken (oder Aktualisierungstoken), die auch als primäre Aktualisierungstoken (PRTs) bezeichnet werden, von Anwendungen verwendet werden, wenn der Zugriff auf eine Ressource angefordert wird.
Wichtig
Der Tokenschutz befindet sich derzeit in der öffentlichen Vorschauphase. Weitere Informationen zu Vorschauversionen finden Sie unter Universelle Lizenzbedingungen für Onlinedienste. Mit dieser Vorschau erhalten Sie die Möglichkeit, eine Richtlinie für bedingten Zugriff zu erstellen, um Tokenschutz für Anmeldetoken (Aktualisierungstoken) für bestimmte Dienste anzufordern. Wir unterstützen den Tokenschutz für Anmeldetoken beim bedingten Zugriff für Desktopanwendungen, die auf Windows-Geräten auf Exchange Online und SharePoint Online zugreifen.
Wichtig
Seit der ersten öffentlichen Vorschauversion wurden die folgenden Änderungen am Tokenschutz vorgenommen:
Hinweis
Die Begriffe „Anmeldetoken“ und „Aktualisierungstoken“ sind hier austauschbar. Wenn Sie Microsoft 365-Zugangs-Token und Anwendungssitzungs-Cookies schützen möchten, sollten Sie die Durchsetzung der Überprüfung der Netzwerkkonformität in Erwägung ziehen.
Diese Vorschau unterstützt die folgenden Konfigurationen für den Zugriff auf Ressourcen mit Tokenschutzrichtlinien für bedingten Zugriff:
Für die Verwendung dieses Features werden Microsoft Entra ID P2-Lizenzen benötigt. Informationen zur Ermittlung der richtigen Lizenz für Ihre Anforderungen finden Sie im Vergleich der allgemein verfügbaren Features von Microsoft Entra ID.
Hinweis
Die Token Protection-Erzwingung ist Teil von Microsoft Entra ID Protection und wird bei allgemeiner Verfügbarkeit Teil der P2-Lizenz sein.
Für Benutzer sollte die Bereitstellung einer Richtlinie für bedingten Zugriff zum Erzwingen des Tokenschutzes unsichtbar sein, wenn kompatible Clientplattformen auf registrierten Geräten und kompatiblen Anwendungen verwendet werden.
Um die Wahrscheinlichkeit einer Benutzerunterbrechung aufgrund der Inkompatibilität von Apps oder Geräten zu minimieren, wird dringend empfohlen:
Dieser Prozess hilft ihnen, die Client- und App-Kompatibilität Ihrer Benutzer für die Erzwingung des Tokenschutzes zu bewerten.
Diese Funktionalität kann z. B. für Benutzer verwendet werden, die spezielle Rollen ausführen, wie sie unter Sicherheitsstufen für privilegierten Zugriff beschrieben sind. Es wird empfohlen, mit einer kleinen Pilotgruppe zu beginnen.
Die folgenden Schritte helfen beim Erstellen einer Richtlinie für bedingten Zugriff, um Tokenschutz für Exchange Online und SharePoint Online auf Windows-Geräten anzufordern.
Wählen Sie unter Auswählen die folgenden von der Vorschau unterstützten Anwendungen aus:
Warnung
Ihre Richtlinie für bedingten Zugriff sollte nur für diese Anwendungen konfiguriert werden. Die Auswahl der Office 365-App-Gruppe kann zu unbeabsichtigten Fehlern führen. Dies ist eine Ausnahme von der allgemeinen Regel, dass die Office 365-App-Gruppe in einer Richtlinie für bedingten Zugriff ausgewählt werden soll.
Klicken Sie auf Auswählen.
Warnung
Wenn Sie die Client-Apps-Bedingung nicht konfigurieren oder Browser ausgewählt lassen, werden Anwendungen, die MSAL.js verwenden (z. B. Teams Web), möglicherweise blockiert.
Wenn ein Administrator die Einstellungen mit dem reinen Berichtsmodus bestätigt hat, kann er den Schalter Richtlinie aktivieren von Nur Bericht auf Ein festlegen.
Überwachung der Tokenschutzerzwingung für bedingten Zugriff vor und nach der Erzwingung.
Verwenden Sie das Microsoft Entra-Anmeldeprotokoll, um das Ergebnis einer Richtlinie zur Erzwingung des Tokenschutzes im Nur-Melde-Modus oder im aktivierten Modus zu überprüfen.
Sie können auch Log Analytics verwenden, um die Anmeldeprotokolle (interaktiv und nicht interaktiv) für blockierte Anforderungen aufgrund eines Fehlers bei der Tokenschutzerzwingung abzufragen.
Im Folgenden finden Sie eine Log Analytics-Beispielabfrage, die die nicht interaktiven Anmeldeprotokolle der letzten sieben Tage durchsucht, wobei blockierte und zulässige Anforderungen nach Anwendung hervorgehoben werden. Diese Abfragen sind nur Beispiele und können sich ändern.
Hinweis
Ausgabe von Anmeldeprotokollen: Der Wert der in „enforcedSessionControls“ und „sessionControlsNotSatisfied“ verwendeten Zeichenfolge wurde Ende Juni 2023 von „Binding“ in „SignInTokenProtection“ geändert. Abfragen für Anmeldeprotokolldaten sollten aktualisiert werden, um diese Änderung zu berücksichtigen. Die Beispiele decken beide Werte ab, um Verlaufsdaten einzuschließen.
//Per Apps query
// Select the log you want to query (SigninLogs or AADNonInteractiveUserSignInLogs )
//SigninLogs
AADNonInteractiveUserSignInLogs
// Adjust the time range below
| where TimeGenerated > ago(7d)
| project Id,ConditionalAccessPolicies, Status,UserPrincipalName, AppDisplayName, ResourceDisplayName
| where ConditionalAccessPolicies != "[]"
| where ResourceDisplayName == "Office 365 Exchange Online" or ResourceDisplayName =="Office 365 SharePoint Online"
//Add userPrinicpalName if you want to filter
// | where UserPrincipalName =="<user_principal_Name>"
| mv-expand todynamic(ConditionalAccessPolicies)
| where ConditionalAccessPolicies ["enforcedSessionControls"] contains '["Binding"]' or ConditionalAccessPolicies ["enforcedSessionControls"] contains '["SignInTokenProtection"]'
| where ConditionalAccessPolicies.result !="reportOnlyNotApplied" and ConditionalAccessPolicies.result !="notApplied"
| extend SessionNotSatisfyResult = ConditionalAccessPolicies["sessionControlsNotSatisfied"]
| extend Result = case (SessionNotSatisfyResult contains 'SignInTokenProtection' or SessionNotSatisfyResult contains 'SignInTokenProtection', 'Block','Allow')
| summarize by Id,UserPrincipalName, AppDisplayName, Result
| summarize Requests = count(), Users = dcount(UserPrincipalName), Block = countif(Result == "Block"), Allow = countif(Result == "Allow"), BlockedUsers = dcountif(UserPrincipalName, Result == "Block") by AppDisplayName
| extend PctAllowed = round(100.0 * Allow/(Allow+Block), 2)
| sort by Requests desc
Das Ergebnis der vorherigen Abfrage sollte dem folgenden Screenshot ähneln:
Im folgenden Abfragebeispiel wird das nicht interaktive Anmeldeprotokoll der letzten sieben Tage untersucht, wobei blockierte und zulässige Anforderungen nach Benutzer hervorgehoben werden.
//Per users query
// Select the log you want to query (SigninLogs or AADNonInteractiveUserSignInLogs )
//SigninLogs
AADNonInteractiveUserSignInLogs
// Adjust the time range below
| where TimeGenerated > ago(7d)
| project Id,ConditionalAccessPolicies, UserPrincipalName, AppDisplayName, ResourceDisplayName
| where ConditionalAccessPolicies != "[]"
| where ResourceDisplayName == "Office 365 Exchange Online" or ResourceDisplayName =="Office 365 SharePoint Online"
//Add userPrincipalName if you want to filter
// | where UserPrincipalName =="<user_principal_Name>"
| mv-expand todynamic(ConditionalAccessPolicies)
| where ConditionalAccessPolicies ["enforcedSessionControls"] contains '["Binding"]' or ConditionalAccessPolicies ["enforcedSessionControls"] contains '["SignInTokenProtection"]'
| where ConditionalAccessPolicies.result !="reportOnlyNotApplied" and ConditionalAccessPolicies.result !="notApplied"
| extend SessionNotSatisfyResult = ConditionalAccessPolicies.sessionControlsNotSatisfied
| extend Result = case (SessionNotSatisfyResult contains 'SignInTokenProtection' or SessionNotSatisfyResult contains 'SignInTokenProtection', 'Block','Allow')
| summarize by Id, UserPrincipalName, AppDisplayName, ResourceDisplayName,Result
| summarize Requests = count(),Block = countif(Result == "Block"), Allow = countif(Result == "Allow") by UserPrincipalName, AppDisplayName,ResourceDisplayName
| extend PctAllowed = round(100.0 * Allow/(Allow+Block), 2)
| sort by UserPrincipalName asc
Ereignisse
9. Apr., 15 Uhr - 10. Apr., 12 Uhr
Code the Future with AI and connect with Java peers and experts at JDConf 2025.
Jetzt registrieren