סינון מחבר נקודת קצה (preview)

‏‫[מאמר זה הוא תיעוד קדם-הפצה והוא עשוי להשתנות.]‬

סינון נקודות קצה של מחבר מאפשר למנהלי מערכת לקבוע לאיזה יוצרי נקודות קצה ספציפיים יכולים היוצרים להתחבר בעת בניית אפליקציות, זרימות או צ'אטבוטים. היא מוגדרת בתוך מדיניות נתונים, והיא זמינה באופן בלעדי עבור המחברים הבאים:

  • HTTP
  • HTTP עם מזהה Microsoft Entra ‏(AD)
  • HTTP Webhook
  • SQL Server (כולל שימוש במחבר SQL Server לגישה למחסן נתונים של Azure Synapse)
  • אחסון Blob של Azure‬
  • SMTP
  • אוטומציית דפדפן
  • אוטומציית ממשק משתמש

כאשר יוצר מחבר את האפליקציה, הזרימה או הצ'אטבוט שלו לנקודות קצה חסומות, הוא רואה הודעת שגיאה של מדיניות נתונים.

אזהרה

כללי סינון נקודת קצה אינם חלים על משתני סביבה, קלט מותאם אישית או כל נקודת קצה שנוצרה באופן דינאמי בזמן ריצה. רק נקודות קצה סטטיות מוערכות באפליקציה, בזרימה או בתוכנית Bot של צ'אט. לקבלת מידע נוסף, ראה מגבלות ידועות.

חשוב

  • ‏‫‏‫זוהי תכונת Preview.‬‬
  • תכונות Preview אינן מיועדות לשימוש בייצור וייתכן שיש להן פונקציונליות מוגבלת. תכונות אלה כפופות לתנאי השימוש המשלימים והן זמינות לפני הפצה רשמית, כך שהלקוחות יכולים לקבל גישה מוקדמת ולספק משוב.

הוספת כללי סינון נקודות קצה למדיניות הנתונים שלך

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

נקודת קצה ניתנת להגדרה בדף 'מחברים שנבנו מראש'.

אם הערך של העמודה נקודת קצה שניתנת להגדרה הוא כן, אפשר להשתמש ביכולת זו על-ידי לחיצה באמצעות לחצן העכבר הימני ובחירה באפשרות הגדר את תצורת המחבר>נקודות קצה של מחבר.

הגדר את תצורת המחבר > נקודות קצה של מחבר.

פעולה זו פותחת לוח צידי שבו אתה מציין רשימה מסודרת של דפוסי אפשר או מנע כתובת URL. השורה האחרונה ברשימה היא כלל עבור התו הכללי (*) שחל על כל נקודות הקצה במחבר זה. כברירת מחדל, התבנית * מוגדרת כאפשר עבור מדיניות נתונים חדשה, אך באפשרותך לתייג אותה כאפשר או מנע.

ציין רשימה מסודרת של תבניות 'אפשר' ו'דחה' עבור מחברים מותאמים אישית.

הוסף כללים חדש

באפשרותך להוסיף כללים חדשים על-ידי בחירת הוסף נקודת קצה. כללים חדשים מתווספים לסוף רשימת התבניות ככלל שני-אחרון. זאת משום * שזהו הערך האחרון ברשימה. עם זאת, באפשרותך לעדכן את סדר התבניות באמצעות הרשימה הנפתחת סדר או בחירת הזז למעלה או הזז למטה.

בחר 'הוסף נקודת קצה' כדי להוסיף כללים חדשים.

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

מחק תבנית.

לאחר שמירת כללי הסינון של נקודות הקצה של המחבר ומדיניות הנתונים שבה הם מוגדרים, הם נאכפים באופן מיידי בסביבות הייעודיות. התמונה הבאה מציגה דוגמה שבה יוצר מנסה לחבר את זרימת הענן שלו אל נקודת קצה של HTTP שאינה מותרת.

שגיאת מדיניות נתונים עקב כללי סינון נקודות קצה.

‏‫מגבלות ידועות‬

  • כללי הסינון של נקודות קצה אינם נאכפים במשתני סביבה, קלט מותאם אישית ובנקודות קצה מאוגדות באופן דינמי במהלך זמן ריצה. רק נקודות קצה סטטיות הידועות ו הנבחרות בעת בניית אפליקציה, זרימה או צ'אטבוט במהלך זמן התכנון נאכפות. משמעות הדבר היא כי כללי סינון נקודות קצה של מחבר עבור SQL Server ו- Azure Blob Storage אינם נאכפים אם החיבורים מאומתים עם מזהה Entra של Microsoft. בשני צילומי המסך הבאים, יוצר בונה זרימת ענן שמגדירה את SQL Server ואת מסד הנתונים בתוך משתנים, ולאחר מכן משתמשת במשתנים אלה כקלט להגדרת החיבור. כתוצאה מכך, כללי הסינון של נקודת הקצה אינם מוערכים, וזרימת הענן מצליחה.

    צילום מסך של זרימת ענן המשתמשת במשתנים כדי להתחבר ל- SQL.

    צילום מסך של זרימת ענן שפועלת בהצלחה.

  • יש לפרסם מחדש את Power Apps שפורסם לפני 1 באוקטובר 2020 כדי לאכוף כללי פעולה של מחברים וכללי נקודת קצה של מדיניות נתונים. קובץ ה- Script הבא מאפשר למנהלי מערכת ולמנהלי מערכת לזהות אפליקציות שיש לפרסם מחדש כדי לציית לכללי בקרה פרטני אלה של מדיניות נתונים:

    Add-PowerAppsAccount
    
    $GranularDLPDate = Get-Date -Date "2020-10-01 00:00:00Z"
    
    ForEach ($app in Get-AdminPowerApp){
    
        $versionAsDate = [datetime]::Parse($app.LastModifiedTime)
    
        $olderApp = $versionAsDate -lt $GranularDLPDate
    
        $wasBackfilled = $app.Internal.properties.executionRestrictions -ne $null -and $app.Internal.properties.executionRestrictions.dataLossPreventionEvaluationResult -ne $null -and ![string]::IsNullOrEmpty($app.Internal.properties.executionRestrictions.dataLossPreventionEvaluationResult.lastAdvancedBackfillDate) 
    
        If($($olderApp -and !$wasBackfilled)){
            Write-Host "App must be republished to comply with granular data policy: " $app.AppName " "  $app.Internal.properties.displayName " " $app.Internal.properties.owner.email
        } 
        Else{ 
            Write-Host "App is already Granular data policy compliant: " $app.AppName 
        }
    }
    

תבניות קלט ודוגמאות של נקודת קצה

כל מחבר מגדיר נקודת קצה באופן שונה, ונקודות קצה מסוימות יכולות להיכלל בתבניות מרובות. לכן, עליך להזין נקודות קצה בכל התבניות האפשריות כדי למנוע ממשתמשים להשתמש בהם בעת יצירת אפליקציות ותזרימות. מנהלי מערכת יכולים להזין את שם נקודת הקצה המלאה או להשתמש בתבנית התואמת לתו הכללי (*) כדי ליצור כלל סינון נקודת קצה. כללים אלה מוזנים ומציגים ברשימה מסודרת של תבניות של נקודות קצה, כלומר הם מוערכים בסדר עולה לפי מספר. הכלל האחרון עבור כל מחבר נתון הוא תמיד * אפשר או * דחה. 'אפשר' היא ברירת המחדל, אותה ניתן לשנות ל'דחה'.

ההדרכה הבאה מתארת כיצד להזין נקודות קצה של מחברים תוך יצירת כללים המאפשרים או דוחים אותן.

SQL Server

פרט נקודות קצה של חיבור ל- <Server_name, database_name> SQL Server בתבנית. מספר דברים שכדאי לזכור:

  • יצרנים יכולים להזין את שם השרת בתבניות שונות. כדי לטפל בנקודות קצה, הזן אותה בכל התבניות האפשריות. לדוגמה, מופעים מקומיים יכולים להיות בתבנית <machine_name\named_instance, database_name> או <IP address, custom port, database_name>. במקרה זה, יהיה עליך להחיל כללי 'אפשר' או 'חסום' בשתי התבניות עבור נקודת קצה. לדוגמה:

    • חסום WS12875676\Servername1,MktingDB
    • חסום 11.22.33.444,1401,MktingDB
  • אין לוגיקה מיוחדת המטפלת בכתובות יחסיות כגון localhost. כלומר, אם אתה חוסם את *localhost*, הוא ימנע מיוצרים להשתמש בנקודות קצה באמצעות localhost כחלק מנקודת הקצה של SQL Server. עם זאת, הוא לא ימנע מהם לגשת לנקודת הקצה באמצעות הכתובת המוחלטת, אלא אם כן גם הכתובת המוחלטת נחסמה על-ידי מנהל המערכת.

להלן מספר דוגמאות:

  • אפשר רק מופעי Azure SQL Server:

    1. אפשר *.database.windows.net*
    2. דחה *
  • אפשר טווח IP ספציפי בלבד: (יוצר העיצוב עדיין יכול להזין את כתובות ה- IP <machine_name\named_instance> שאינן מותרות.)

    1. אפשר 11.22.33*
    2. דחה *

Dataverse

נקודות קצה של Dataverse מיוצגים על-ידי מזהה הארגון, כגון 00aa00aa-bb11-cc22-dd33-44ee44ee44ee. כדאי לשים לב שרק מחבר Dataverse הרגיל נמצא כעת בטווח עבור סינון נקודות קצה. Dataverse Dynamics ומחברים נוכחיים של Dataverse אינם בטווח. כמו כן, המופע המקומי של Dataverse (המכונה גם הסביבה הנוכחית) לא ניתן לחסימה עבור שימוש בסביבה. משמעות הדבר היא היוצרים יכולים תמיד לגשת לסביבה הנוכחית Dataverse בתוך כל סביבה נתונה.

לכן, כלל המציין:

  1. אפשר 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
  2. דחה *

פירושו למעשה:

  1. אפשר Dataverse current environment
  2. אפשר 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
  3. דחה *

הפיכה של Dataverse current environment לזמין היא תמיד במרומז הכלל הראשון ברשימת הסינון של נקודת הקצה של עבור כל סביבה נתונה.

אחסון Blob של Azure‬

נקודות קצה של Azure Blob Storage משתמשות בשם חשבון האחסון של Azure.

SMTP

נקודות קצה של SMTP מיוצגות בתבנית <SMTP server address, port number>.

להלן תרחיש לדוגמה:

  1. דחה smtp.gmail.com,587
  2. אפשר *

HTTP עם מזהה Microsoft Entra,‏ HTTP Webhook ומחברי HTTP

נקודות קצה של מחבר HTTP משתמשות בתבנית URL. הפעולה קבל משאב אינטרנט של ה- HTTP עם מחבר Microsoft Entra היא מחוץ לטווח.

הנה דוגמה של תרחיש:

אפשר גישה רק לדף מנויי Azure בתוך https://management.azure.com/.

  1. אפשר https://management.azure.com/subscriptions*
  2. דחה https://management.azure.com/*
  3. דחה *

אוטומציית דפדפן

תכונה זו מאפשרת לך לשלוט בעמודי האינטרנט שזרימת שולחן העבודה ניגשת אליהם ב- Power Automate לשולחן העבודה. נקודות הקצה מיוצגות בפורמט URL או בפורמט שם דף אינטרנט, וניתן להשתמש בתווים כלליים (wildcards) עבור התאמת URL דינמית או שם דף. האימות מתבצע במהלך פעולות "הפעל את דפדפן האינטרנט" או "עבור לדף אינטרנט" לפני שזרימת שולחן העבודה תתווסף לאינטראקציות בדפדפן.

הערה

סינון נקודות קצה אינו מאומת כאשר פעולות 'הפעל דפדפן אינטרנט' מוגדרות לצרף לחלון הקדמי. במקרים כאלה, הפעולה לא נחסמת אלא אם כן הגישה לכל דפי האינטרנט נדחית.

להלן תרחיש לדוגמה:

אפשר גישה לכל דפי האינטרנט מלבד כתובת האתר https://www.contoso.com/ וכל כתובת אתר או דף אינטרנט המכילים את המחרוזת powerplatform.

  1. דחה https://www.contoso.com/
  2. דחה *powerplatform*
  3. אפשר *

אוטומציית ממשק משתמש

תכונה זו מאפשרת לך להגדיר עם אילו אפליקציות ו מסכים ניתן לקיים אינטראקציה ב- Power Automate לשולחן העבודה. נקודות קצה מצוינות באמצעות שם התהליך של היישום. כאשר שם התהליך הוא ApplicationFrameHost, Java או Javaw - המציין פלטפורמה אוניברסלית של Windows (UWP) או יישום Java שבו מופעים מרובים עשויים לשתף שם זהה - Power Automate עבור שולחן העבודה משתמש הן בשם התהליך והן בשם התצוגה של החלון כדי לזהות את היעד באופן מדויק. התווים הכלליים נתמכים להתאמה גמישה.

האימות מתרחש בכל פעולה בקבוצת האוטומציה של ממשק המשתמש. היא בודקת את התכונה תהליך (הצוין על-ידי המספר 1 בתמונה) או את התכונה שם (המציין המספר 2 בתמונה) בגורם של המסך הייעודי (כפי שמוצג על-ידי החץ בתמונה). בדרך כלל האב של רכיבי ממשק המשתמש הקשורים משמש כדי לקבוע אם האינטראקציה מותרת.

בורר המסך

כללי סינון נקודת קצה אינם חלים על משתנים או על נקודות קצה המאוגדות באופן דינאמי. אם ביטוי כולל כל דבר שאינו מחרוזת ליטרלית, סינון מדולג - מה שעשוי לאפשר גישה לארגומנטים של מחבר בעל גישה מוגבלת. אופן הפעולה של מדיניות ברירת המחדל הוא כל פריטי המדיניות לסינון נקודות קצה כוללים כלל ליבה (Allow * אוDeny *), ברירת המחדל היא Allow * (Allow All).

  • כאשר נעשה שימוש ב- Allow * : ערכים דינאמיים אינם מסוננים. כל ביטוי דינאמי עוקף את סינון נקודות הקצה, גם אם יישומים מסוימים מוגבלים.
  • כאשר נעשה שימוש ב - Deny * : כל הערכים הדינאמיים נחסמים כברירת מחדל ומבטיחים אכיפה קפדנית יותר.

הערה

  • סינון נקודת קצה אינו נאכף אם התכונות הרלוונטיות (תהליך או שם) אינן חלק מהבחר.
  • סינון נקודת קצה אינו נתמך עבור רכיבי ממשק משתמש מסוימים של מערכת ההפעלה Windows, כולל סמלי שולחן העבודה, לחצני שורת המשימות ורכיבים בתפריט התחלה.

להלן תרחיש לדוגמה. כדי לאפשר גישה לכל היישומים וה מסכים, למעט אלה שבהם התכונה Process או Name היא בדיוק מחשבון או מכיל את המחרוזת Java, עליך לקבוע את התצורה של הכללים הבאים:

  1. דחה Calculator
  2. דחה *Java*
  3. אפשר *

HTTP

תכונה זו מאפשרת לך לשלוט בנקודות הקצה שזרימת שולחן עבודה יכולה לגשת אליהם בעת שימוש בפעולות HTTP ב- Power Automate לשולחן העבודה. נקודות קצה מוגדרות באמצעות תבנית כתובת URL, ובאפשרותך להשתמש בתווים כלליים להתאמה גמישה של כתובות URL דינאמיות.

אם נקודת הקצה המבוקשת מפרה את כללי הסינון המוגדרים, הפעולה חסומה והזרימה נכשלת עם הפרת מדיניות.

כללי סינון נקודת קצה מוערכים לפי הסדר, בהתבסס על דפוסי התרה ומנע שהוגדרו במדיניות מניעת אובדן נתונים (DLP).

תרחיש לדוגמה: אפשר גישה לכל נקודות הקצה למעט כתובת ה- URL וכל https://www.contoso.com/ כתובת URL המכילה את המחרוזת powerplatform.

  1. דחה https://www.contoso.com/
  2. דחה powerplatform
  3. אפשר *

תמיכה ב- PowerShell עבור סינון נקודת קצה

קבע תצורה של כללי סינון נקודות קצה עבור מדיניות

האובייקט המכיל כללי סינון נקודות קצה עבור מדיניות נקרא תצורות המחבר.

לאובייקט תצורות המחבר יש את המבנה הבא:

$ConnectorConfigurations = @{ 
  connectorActionConfigurations = @() # used for connector action rules
  endpointConfigurations = @( # array – one entry per 
    @{  
      connectorId # string
      endpointRules = @( # array – one entry per rule 
        @{ 
          order # number 
          endpoint # string
          behavior # supported values: Allow/Deny
        }
      ) 
    }
  ) 
}

הערות

  • הכלל האחרון עבור כל מחבר חייב תמיד לחול על כתובת URL * כדי להבטיח שכל כתובות ה- URL מכוסות על-ידי הכללים.
  • מאפיין הסדר של הכללים עבור כל מחבר חייב להשתמש במספרים 1 עד N, כאשר N הוא מספר הכללים עבור מחבר זה.

אחזור תצורות מחבר קיימות עבור מדיניות נתונים

Get-PowerAppDlpPolicyConnectorConfigurations 

יצירת תצורות מחבר עבור מדיניות נתונים

New-PowerAppDlpPolicyConnectorConfigurations

עדכון תצורות מחבר עבור מדיניות נתונים

Set-PowerAppDlpPolicyConnectorConfigurations

דוגמה

יעד:

עבור מחבר SQL Server:

  • מניעת גישה למסד הנתונים "testdatabase" בשרת "myservername.database.windows.net"
  • אפשר את כל מסדי הנתונים האחרים של השרת "myservername.database.windows.net"
  • דחה את כל השרתים האחרים

עבור מחבר SMTP:

  • אפשר את Gmail (כתובת שרת: smtp.gmail.com, יציאה: 587)
  • דחה את כל הכתובות האחרות

עבור מחבר HTTP:

  • אפשר את נקודות הקצה https://mywebsite.com/allowedPath1 ו- https://mywebsite.com/allowedPath2
  • דחה את כל כתובות ה- URL האחרות

הערה

ב- cmdlet הבא, PolicyName‎ מתייחס ל- GUID הייחודי. אחזר את ה- GUID של מדיניות הנתונים על-ידי הפעלת ה- cmdlet Get-DlpPolicy .

$ConnectorConfigurations = @{ 
  endpointConfigurations = @(
    @{  
      connectorId = "/providers/Microsoft.PowerApps/apis/shared_sql" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "myservername.database.windows.net,testdatabase" 
          behavior = "Deny"
        }, 
        @{ 
          order = 2 
          endpoint = "myservername.database.windows.net,*" 
          behavior = "Allow"
        }, 
        @{ 
          order = 3
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    }, 
    @{  
      connectorId = "/providers/Microsoft.PowerApps/apis/shared_smtp" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "smtp.gmail.com,587" 
          behavior = "Allow"
        }, 
        @{ 
          order = 2 
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    },
    @{  
      connectorId = "http" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "https://mywebsite.com/allowedPath1" 
          behavior = "Allow"
        }, 
        @{ 
          order = 2
          endpoint = "https://mywebsite.com/allowedPath2" 
          behavior = "Allow"
        }, 
        @{ 
          order = 3
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    } 
  ) 
}
New-PowerAppDlpPolicyConnectorConfigurations -TenantId $TenantId -PolicyName $PolicyName -NewDlpPolicyConnectorConfigurations $ConnectorConfigurations