שתף דרך


שימוש ב- Microsoft SQL Server באופן מאובטח עם Power Apps

קיימות דרכים שונות להתחבר לאימות מול SQL Server באמצעות Power Apps. מאמר זה מתאר מושגים שעשויים להיות שימושיים בבחירה לגבי אופן ההתחברות ל- SQL Server באמצעות גישה אבטחה התואמת לדרישות עבור היישום שלך.

חשוב

תכונת החיבורים המפורשים המאובטחת הופצה בינואר 2024. Microsoft ממליצה מאוד לכל האפליקציות המשתמשות כעת בחיבורים משתמעים כדי להמיר כדי לאבטח חיבורים משתמעים ולבטל חיבורים המשותפים עם משתמשי קצה.

ההבדל בין חיבורים מפורשים, משתמעים ומאובטחים משתמעים

חיבור ל- SQL Server נוצר בכל פעם שאתה יוצר יישום באמצעות Power Apps מתחבר ל- SQL Server. כאשר יישומים אלה מתפרספים ומשותפים עם אחרים, הן האפליקציה והן החיבור נפרסים למשתמשים אלה. במילים אחרות, האפליקציה והחיבור - שניהם גלויים למשתמשים שהיישומים משותפים איתם.

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

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

ניתן להשתמש בארבעת סוגי אימות החיבור הבאים עם SQL Server for Power Apps:

סוג אימות שיטת חיבור של Power Apps
Microsoft Entra Integrated מפורש
אימות SQL Server משתמע /מאובטח משתמע
אימות Windows משתמע /מאובטח משתמע
אימות Windows (לא משותף) מפורש

סיכוני שיתוף חיבור משתמעים

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

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

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

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

חשוב

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

אבטחת לקוח ושרת

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

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

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

תבנית אבטחה בצד הלקוח ביישום.

בתבנית של יישום אבטחת לקוח, [1] המשתמש מאמת רק מול היישום בצד הלקוח. לאחר מכן[ 2] היישום מבקש מידע אודות השירות, ו- [3] השירות מחזיר את המידע אך ורק בהתבסס על בקשת הנתונים.

תבנית אבטחה בצד השרת ביישום.

בתבנית אבטחה בצד השרת, [1] המשתמש מאמת תחילה את השירות כך שהמשתמש מוכר לשירות. לאחר מכן, [2] כאשר שיחה נוצרת מהיישום, השירות [3] משתמש לזהות הידועה של המשתמש הנוכחי כדי לסנן את הנתונים כראוי ו- [4] מחזיר את הנתונים.

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

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

כדי לסנן נתונים באופן מאובטח בצד השרת, השתמש בתכונות אבטחה מוכללות ב- SQL Server, כגון אבטחה ברמת השורה עבור שורות, ומנע הרשאות לאובייקטים ספציפיים (כגון עמודות) למשתמשים ספציפיים. גישה זו משתמשת לזהות המשתמש של Microsoft Entra כדי לסנן את הנתונים בשרת.

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

השכבה העסקית (בצד השרת) משתמשת זהות Entra של משתמש ידוע כדי להפעיל פרוצדורה מאוחסנת כמנהל של SQL Server ולסנן את הנתונים. עם זאת, Power Apps אינו מתחבר כעת להליכים מאוחסנים. שכבה עסקית עשויה גם להפעיל תצוגה המשתמשת ב- Microsoft Entra identity כמנהל SQL Server. במקרה זה, השתמש ב- Power Apps כדי להתחבר לתצוגות כך שהנתונים מסוננים בצד השרת. חשיפת תצוגות למשתמשים בלבד עשויה לדרוש זרימות Power Automate לצורך עדכונים.

ראה גם

מבט כולל על מחברים עבור אפליקציות בד ציור