M365Con 2027 – כנס אונליין חינמי · 11–22 Jan 2027 · 120 sessions→ m365con.net

בלוג · Mirko Peters

איך שולטים ב-OAuth 2.0 ובמפתחות API ב-Custom Connectors של Power Apps

By · · Updated

כשבונים פתרונות ארגוניים על גבי Microsoft Power Platform, מפתחים נתקלים לא פעם בתקרה מבנית. מחברים מובנים מצוינים לשירותים הסטנדרטיים של Microsoft 365, לרכיבי Azure ולפלטפורמות SaaS פופולריות של צד שלישי. אולם ברגע שהאפליקציה דורשת נתונים ייעודיים של קו עסקי, אינטגרציה עם מערכת צד-אחורי מדור קודם או APIs קנייניים של תעשייה מסוימת, הכלים הסטנדרטיים נעצרים בדיוק במקום שבו מתחילים הנתונים העסקיים האמ

Automatically translated with AI from the original post. Read the English original

▶ BLOGMastering OAuth 2.0 andAPI Keys in Power Apps…M365.FM
Titelbild: Mastering OAuth 2.0 and API Keys in Power Apps Custom Connectors

כשבונים פתרונות ארגוניים על גבי Microsoft Power Platform, מפתחים נתקלים לא פעם בתקרה מבנית. מחברים מובנים מצוינים לשירותים הסטנדרטיים של Microsoft 365, לרכיבי Azure ולפלטפורמות SaaS פופולריות של צד שלישי. אולם ברגע שהאפליקציה דורשת נתונים ייעודיים של קו עסקי, אינטגרציה עם מערכת צד-אחורי מדור קודם או APIs קנייניים של תעשייה מסוימת, הכלים הסטנדרטיים נעצרים בדיוק במקום שבו מתחילים הנתונים העסקיים האמיתיים שלכם. כאן נכנסים לתמונה Custom Connectors, המשמשים כמתאם אוניברסלי שמלמד את Power Apps ואת Power Automate לדבר ישירות עם ה-APIs הייחודיים שלכם.

אלא שבניית Custom Connector היא רק חצי מהקרב. ההבדל האמיתי בין אב טיפוס שביר לבין אינטגרציה ארגונית עמידה הוא אימות מאובטח. אם לא תגדירו נכון את OAuth 2.0, או אם תנהלו לא נכון את מפתחות ה-API שלכם, האפליקציות שלכם ייתקלו בכשלי הסכמה של משתמשים מרובים, בפסקי זמן בלתי צפויים של טוקנים ובפרצות אבטחה. במדריך מקיף זה נפרק איך מגדירים אימות מאובטח עבור ה-Custom Connectors שלכם, החל מהגדרת היקפי הרשאות מינימליים (least privilege) ועד לטיפול חלק בחידוש טוקנים ושמירה על סביבות הייצור שלכם.

מבוא ל-Custom Connectors ולאימות מאובטח

במהותו, Custom Connector פועל כעטיפה סביב RESTful API, ומאפשר ל-Power Apps, ל-Power Automate ול-Azure Logic Apps לתקשר עם שירותים חיצוניים באמצעות פעולות, טריגרים וסכמות מוגדרות. אבל לפני שנתונים יכולים לזרום, צריך להקים אמון. אימות הוא המכשול הראשון והמוחלט שחייבים לעבור. בין אם משתמשים במפתחות API, באימות Basic או בתקן הזהב – OAuth 2.0 – הקפדה על זרימת האבטחה כבר בהתחלה קובעת את הבריאות הכללית ואת אימוץ האפליקציה.

מפתחים נוטים לזרז את הגדרות האבטחה רק כדי לראות שליפת נתונים מוצלחת, ורק מגלים מאוחר יותר שמנגנון האימות שבחרו מתפרק כשהפתרון נפרס למשתמשים רבים יותר. לאבטח את ה-Custom Connector שלכם פירושו להבין את פרוטוקולי ה-handshake המדויקים שנדרשים על ידי ה-API היעד, ולמפות אותם בצורה נקייה למסגרת האבטחה של Power Platform.

הבנת המבנה של Custom Connectors ב-Power Apps

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

  • Host ו-Base URL: נקודות הקצה שאליהן מנותבת תעבורת ה-API שלכם. HTTPS הוא חובה מוחלטת.
  • Security Settings: המנגנון שמוכיח מי קורא ל-API, והוא יכול לנוע בין מפתחות API פשוטים לבין מענקי Authorization Code מורכבים של OAuth 2.0.
  • Definition: הפעולות (methods, paths, query parameters, headers ו-request/response payloads) והטריגרים שמגדירים את הפעולות הזמינות.
  • Code (אופציונלי): מדיניות סקריפט C# מותאמת אישית, המשמשת לכתיבה מחדש של כתובות URL, להגדרת headers ספציפיים או לשינוי מטענים קטנים בזמן אמת.

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

שליטה בהגדרת OAuth 2.0 ומפתחות API

בחירת סוג האימות הנכון תלויה לחלוטין במה שה-API הבסיסי שלכם תומך בו. בכל מקום אפשרי, כדאי מאוד להעדיף את OAuth 2.0. הוא מספק האצלה מאובטחת מבוססת טוקנים, בלי לחשוף את פרטי הזיהוי של המשתמש. בעת הגדרת OAuth 2.0 באשף של Custom Connector ב-Power Apps, יהיה עליכם לספק פרמטרים ספציפיים:

  • Identity Provider: השירות שמנפיק את הטוקנים שלכם (כגון Azure Active Directory, Auth0, Okta או שרת זהויות מותאם אישית).
  • Client ID ו-Client Secret: המזהים הייחודיים של האפליקציה הרשומה שלכם.
  • Authorization URL ו-Token URL: נקודות הקצה האחראיות להנחיית המשתמש להתחברות ולהחלפת קודי הרשאה בטוקני גישה.
  • Redirect URL: כתובת ה-callback שנוצרת על ידי Power Apps, ושעליכם לרשום בחזרה בהגדרות ספק הזהויות שלכם.

בתרחישים שבהם OAuth 2.0 מורכב מדי או לא נתמך על ידי מערכת היעד, ניתן לעבור למפתח API. מפתחות API מועברים בדרך כלל באמצעות כותרות HTTP (כגון Ocp-Apim-Subscription-Key או Authorization) או באמצעות מחרוזות שאילתה. למרות שהמימוש פשוט יותר, הם דורשים ניהול סודות קפדני כדי למנוע חשיפה.

הגדרת היקפי הרשאות מינימליים ורענון טוקנים

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

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

הימנעות ממלכודות נפוצות: הסכמה של מספר משתמשים וסיום תוקף טוקנים

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

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

בדיקה ואימות של תהליך האימות

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

  1. אמתו תחילה את נקודות הקצה, הכותרות וחילופי הטוקנים ב-Postman. שמרו את הדוגמאות הפועלות.
  2. ייבאו את הפרמטרים הפועלים לאשף המחבר המותאם אישית.
  3. השתמשו בלשונית ה-Test המובנית בפורטל המחברים המותאמים אישית של Power Apps כדי להריץ קריאות בדיקה לכל פעולה ולוודא שתהליכי האימות מסתיימים בהצלחה.
  4. לבסוף, שלבו את המחבר באפליקציית Power App או בתהליך Power Automate שלכם, ואמתו את ההתנהגות מקצה לקצה.

הקשחה לסביבת ייצור, מיפוי שגיאות והגבלת קצב

העברת מחבר מותאם אישית מסביבת פיתוח לסביבת ייצור דורשת הקשחה. קודי שגיאה גולמיים שמחזירים ממשקי API של צדדים שלישיים (כמו שגיאות 500 internal server error או הודעות 403 forbidden שאינן ברורות) מבלבלים משתמשי קצה. יש ליישם מיפוי שגיאות במדיניות המחבר כדי לתרגם קודי סטטוס מסוג 4xx ו-5xx להודעות ידידותיות וברורות למשתמש, הכוללות מזהי קורלציה לצוותי התמיכה.

החוסן חשוב באותה מידה. ממשקי API אוכפים לעיתים קרובות מגבלות קצב מחמירות. אם לולאה שתוכננה בצורה לקויה ב-Power Automate פונה לנקודת קצה מהר מדי, תפעילו שגיאות הגבלה מסוג HTTP 429. ישמו מדיניות ניסיון חוזר עם השהיה מעריכית (exponential backoff), והשתמשו במטמון במקומות המתאימים כדי לכבד את מגבלות השרת ולשמור על יציבות האפליקציה.

שיטות עבודה מומלצות לאבטחה ולממשל

ממשל ארגוני מבטיח שמחברים מותאמים אישית לא יהפכו לווקטור של Shadow IT. כדי לשמור על תנוחת אבטחה תקינה, יש לפעול לפי עקרונות היסוד הבאים:

  • אחסון סודות: לעולם אל תקודדו קשיח סודות לקוח או מפתחות API בהגדרות המחבר. אחסנו אותם בצורה מאובטחת ב-Azure Key Vault או השתמשו במשתני סביבה.
  • מדיניות DLP: החילו מדיניות Data Loss Prevention (DLP) – תוך סיווג המחברים כ-Business או Non-Business – כדי לשלוט במקום ובאופן שבו ניתן להשתמש במחבר המותאם אישית בין סביבות שונות.
  • זהויות מנוהלות: השתמשו ב-Managed Identities או ב-service principals לתרחישי שרת-לשרת ותרחישי רקע אוטומטיים שבהם הקשר של משתמש אינו נדרש.
  • הפרדת סביבות: יש לתחזק מחברים נפרדים לסביבות פיתוח, בדיקות וייצור, עם אישורי גישה שונים, ולהגביל בקפדנות מי רשאי לפרסם עדכונים לסביבת הייצור.

סיכום ועיקרי הדברים

שליטה באימות עבור מחברים מותאמים אישית ב-Power Apps הופכת את פתרונות ה-low-code שלכם מאפליקציות מבודדות לפלטפורמות אינטגרציה ארגוניות חזקות. על ידי הבנה של מבנה המחברים, הגדרת זרימות OAuth 2.0 מאובטחות, אכיפת היקפי הרשאות מינימליים והקמת מנגנוני הגנה לסביבת הייצור, תוודאו שהאינטגרציות שלכם יישארו מאובטחות, מדרגיות ועמידות לאורך זמן.

כדי להעמיק עוד בנושא ולשמוע דיונים מקצועיים על בניית אינטגרציות חזקות, עיצוב מטעני נתונים וטיפול בתהליכי אימות מורכבים, מומלץ להאזין לפרק הפודקאסט הקשור: Build Secure Custom Connectors for Power Apps. בהצלחה בבנייה!

Entities in this article

Connector Power Apps Custom connectors OAuth 2.0 Power Automate Power Platform Least privilege Application registration Azure Logic Apps Client secret

Related articles

RSS