Griffin31
ENקביעת הדגמה
EN
בלוג

עדכון: Token Protection ב-Conditional Access תומך כעת ב-Windows App

28 באפריל 2025

חדשות Microsoft

מבוא:

Microsoft Entra Conditional Access הציג שיפור קריטי: Token Protection תומך כעת ב-Windows App, ומרחיב את הכיסוי ל-Azure Virtual Desktop (AVD) ול-Windows 365. זה מאפשר לארגונים להחיל הגנות זהות חזקות יותר גם בסביבות וירטואליות או בסביבות Cloud PC.

מהו Token Protection?

Token Protection (ידוע גם כ-token binding) מבטיח שטוקני התחברות תקפים רק בהתקן שבו הונפקו. הוא יוצר קשר קריפטוגרפי בין הטוקן להתקן, כך שהטוקן אינו שמיש אם נגנב ומשוחזר (replay) ממערכת אחרת.

היכולת הזו:

מה חדש בעדכון הזה?

שיפורים עיקריים שזמינים כעת בתצוגה מקדימה ציבורית:

המלצות לפריסה

כדי ליישם Token Protection:

אינטגרציה עם Log Analytics

אפשר לנטר את השפעת המדיניות באמצעות שאילתות על Sign-in Logs דרך Log Analytics. זה עוזר לזהות אילו אפליקציות או משתמשים נחסמים בגלל בעיות של token protection.

חשוב: מאז יוני 2023, הערכים של enforcedSessionControls ושל sessionControlsNotSatisfied השתנו מ-"Binding" ל-"SignInTokenProtection", והשאילתות צריכות לשקף את העדכון הזה.

שאילתה לפי אפליקציה:

AADNonInteractiveUserSignInLogs
| where TimeGenerated > ago(7d)
| project Id, ConditionalAccessPolicies, Status, UserPrincipalName, AppDisplayName, ResourceDisplayName
| where ConditionalAccessPolicies != "[]"
| where ResourceDisplayName in ("Office 365 Exchange Online", "Office 365 SharePoint Online", "Azure Virtual Desktop", "Windows 365", "Windows Cloud Login")
| 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"]

שאילתה לפי משתמש:

AADNonInteractiveUserSignInLogs
| where TimeGenerated > ago(7d)
| project Id, ConditionalAccessPolicies, UserPrincipalName, AppDisplayName, ResourceDisplayName
| where ConditionalAccessPolicies != "[]"
| where ResourceDisplayName in ("Office 365 Exchange Online", "Office 365 SharePoint Online", "Azure Virtual Desktop", "Windows 365", "Windows Cloud Login")
| 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"]

זיהוי התקנים שאינם נתמכים:

AADNonInteractiveUserSignInLogs
| where TimeGenerated > ago(7d)
| where TokenProtectionStatusDetails != ""
| extend parsedBindingDetails = parse_json(TokenProtectionStatusDetails)
| extend bindingStatus = tostring(parsedBindingDetails["signInSessionStatus"])
| extend bindingStatusCode = tostring(parsedBindingDetails["signInSessionStatusCode"]

מה לא נתמך: מגבלות מרכזיות שחשוב להכיר

לפני שפורסים את Token Protection באופן רחב, חשוב להבין איפה הוא לא יעבוד (עדיין):

📌 אם התחברות נכשלת בגלל תרחיש שאינו נתמך, חפשו signInSessionStatusCode = 1003 ב-Sign-in Logs (תחת TokenProtectionStatusDetails).

איך נמנעים מבעיות הטמעה?

כדי למנוע הפרעות במהלך הפריסה, אפשר לסנן החוצה התקנים שאינם נתמכים ישירות במדיניות ה-Conditional Access באמצעות device filters.

דוגמאות:

מילות סיכום

Token Protection הוא חלק מרכזי ביישום שליטה ברמת הסשן באפליקציות ענן ובנקודות קצה של Windows. עכשיו, כשהתמיכה כוללת את Windows App, ההגנה הזו מגיעה סוף סוף לסביבות שבהן הכי צריך אותה: VDI ו-Cloud PCs.

סקרו את מדיניות ה-Conditional Access הקיימת שלכם והתחילו להריץ פיילוט של היכולת הזו כבר היום.

למידע נוסף:

https://learn.microsoft.com/en-us/entra/identity/conditional-access/concept-token-protection

רוצים לדעת איפה הטננט שלכם עומד? Griffin31 בודק את הגדרות האבטחה של Microsoft 365 אצלכם באופן רציף ומראה מה לתקן קודם.