אימות (Preview)
מאמר זה מספק מבט כולל על הגדרת Microsoft Entra לקריאה ל- API של Power Platform (Preview). כדי לגשת למשאבים הזמינים דרך API של Power Platform, עליך לקבל אסימון נושא מ- Microsoft Entra ולשלוח אותו ככותרת יחד עם כל בקשה. בהתאם לסוג הזהות שנתמכת על ידך (מנהל משתמש לעומת מנהל שירות), ישנן זרימות שונות להשגת אסימון הנושא, כמתואר במאמר זה.
השלבים הבאים נדרשים כדי להשיג אסימון נושא עם ההרשאות הנכונות:
- צור רישום של יישום בדייר Microsoft Entra שלך
- הגדר הרשאות API
- הגדר לקוח ציבורי (אופציונלי)
- הגדר אישורים וסודות (אופציונלי)
- בקש אסימון גישה
שלב 1 צור רישום יישום
נווט אל הדף רישום יישום Microsoft Entra וצור רישום חדש. תן ליישום שם והקפד לבחור באפשרות דייר יחיד. באפשרותך לדלג על הגדרת ה- URI לניתוב מחדש.
שלב 2 הגדר הרשאות API
ברישום היישום החדש, נווט אל הכרטיסיה ניהול - הרשאות API. תחת המקטע קבע תצורה של הרשאות, בחר הוסף הרשאה. בחלון תיבת הדו-שיח שנפתח, בחר את הכרטיסיה ממשקי API שבהם משתמש הארגון שלי ולאחר מכן חפש את API של Power Platform. ייתכן שתראה כמה ערכים עם שם דומה לזה, לכן עליך להקפיד להשתמש בשם עם ה- GUID 8578e004-a5c6-46e7-913e-12f58912df43.
אם ה- API של Power Platform אינו מופיע ברשימה במהלך חיפוש לפי GUID, ייתכן שעדיין יש לך גישה אליו אבל לא בוצע רענון בניראות. כדי לכפות רענון, הפעל את קובץ ה- Script הבא של PowerShell:
#Install the Microsoft Entra the module
Install-Module AzureAD
Connect-AzureAD
New-AzureADServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"
מכאן, עליך לבחור את ההרשאות הנחוצות. אלה מקובצות לפי מרחבי שמות. בתוך מרחב שמות, יוצגו סוגי משאבים ופעולות לדוגמה AppManagement.ApplicationPackages.Read שיעניקו הרשאות קריאה לחבילות יישומים. לקבלת מידע נוסף, אפשר לעיין במאמר שלנו הפניית הרשאה.
הערה
API של Power Platform משתמש בהרשאות מוקצות בשלב זה בלבד. ליישומים שפועלים עם הקשר משתמש, אתה מבקש הרשאות מוקצות באמצעות הפרמטר scope. הרשאות אלה מקצות את ההרשאות של המשתמש המחובר ליישום שלך, ומאפשרות לו לפעול כמשתמש במהלך קריאה לנקודות קצה של ה- API של Power Platform.
לזהויות של מנהל השירות, לא נעשה שימוש בהרשאות יישום. במקום זאת, מתייחסים למנהלי שירות כמנהלי Power Platform והם חייבים להיות רשומים באופן הבא: PowerShell - יצירת מנהל שירות.
לאחר הוספת ההרשאות הנדרשות ליישום, בחר הענק הסכמת מנהל להשלמת ההגדרה. זה דרוש במופעים שבהם אתה רוצה לאפשר למשתמשים לגשת ליישום שלך מיד, במקום לדרוש חוויית הסכמה אינטראקטיבית. אם אתה יכול לתמוך בהסכמה אינטראקטיבית, אנו ממליצים לעקוב אחר Microsoft פלטפורמת הזהות ו OAuth זרימת קוד ההרשאה 2.0.
שלב 3. הגדר לקוח ציבורי (אופציונלי)
אם היישום שלך יחייב משאבי קריאה וכתיבה מטעם המשתמש, יהיה עליך להפוך את ההגדרה 'לקוח ציבורי' לזמינה. זוהי הדרך היחידה שבה Microsoft Entra ID יקבל מאפייני שם משתמש וסיסמה בגוף בקשת האסימון. כדאי לשים לב גם שאם בכוונתך להשתמש בתכונה זו, היא לא תעבוד עבור חשבונות שמופעל בהם אימות רב-גורמי.
כדי להפוך אפשרות זו לזמינה, בקר בכרטיסיה ניהול - אימות. תחת המקטע הגדרות מתקדמות, הגדר את המתג לקוח ציבורי לכן.
שלב 4 הגדר אישורים וסודות (אופציונלי)
אם היישום שלך יחייב משאבי קריאה וכתיבה בעצמו - מה שידוע גם בשם 'מנהל שירות', ישנן שתי דרכים לאימות. כדי להשתמש בהרשאות, נווט אל הכרטיסיה ניהול - אישורים וסודות. תחת המקטע אישורים, העלה אישור x509 שניתן להשתמש בו לצורך אימות. דרך נוספת היא להשתמש במקטע סודות כדי ליצור סוד לקוח. שמור את הסוד במיקום בטוח כדי להשתמש עם צרכי האוטומציה שלך. אפשרויות האישור או הסוד יאפשרו לך לבצע אימות עם Microsoft Entra ולקבל אסימון עבור לקוח זה, שאותו תעביר לממשקי REST API או לרכיבי cmdlet של PowerShell.
שלב 5 בקש אסימון גישה
קיימות שתי דרכים להשגת אסימון נושא לגישה. דרך אחת היא שם משתמש וסיסמה ודרך אחרת היא מנהלי שירות.
זרימת שם משתמש וסיסמה
הקפד לקרוא את המקטע 'לקוח ציבורי' לעיל. לאחר מכן, שלח בקשת POST דרך HTTP אל Microsoft Entra ID עם תוכן מנה של שם משתמש וסיסמה.
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password
הדוגמה שלעיל מכילה מצייני מיקום שאתה יכול לאחזר ביישום הלקוח שלך ב- Microsoft Entra ID. תתקבל אצלך תשובה שניתן להשתמש בה לביצוע קריאות נוספות ל- API של Power Platform.
{
"token_type": "Bearer",
"scope": "https://api.powerplatform.com/AppManagement.ApplicationPackages.Install https://api.powerplatform.com/AppManagement.ApplicationPackages.Read https://api.powerplatform.com/.default",
"expires_in": 4747,
"ext_expires_in": 4747,
"access_token": "eyJ0eXAiOiJKV1QiLCJu..."
}
השתמש בערך access_token בקריאות הבאות ל- API של Power Platform עם כותרת ה- HTTP של אימות.
זרימת מנהל שירות
הקפד לקרוא את המקטע 'אישורים וסודות' לעיל. לאחר מכן, שלח בקשת POST דרך HTTP אל Microsoft Entra ID עם תוכן מנה של סוד לקוח. לעתים קרובות פעולה זו מכונה אימות מנהל שירות.
חשוב
ניתן להשתמש באימות זה רק לאחר שרשמת את מזהה יישום הלקוח הזה עם Microsoft Power Platform בהתאם לתיעוד הקשור של PowerShell או של REST.
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials
הדוגמה שלעיל מכילה מצייני מיקום שאתה יכול לאחזר ביישום הלקוח שלך ב- Microsoft Entra ID. תתקבל אצלך תשובה שניתן להשתמש בה לביצוע קריאות נוספות ל- API של Power Platform.
{
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1..."
}
השתמש בערך access_token בקריאות הבאות ל- API של Power Platform עם כותרת ה- HTTP של אימות. כפי שצוין לעיל, זרימת מנהל השירות אינה משתמשת בהרשאות יישום ובמקום זאת, כרגע, היא מטופלת כמנהל Power Platform לכל הקריאות שהן מבצעות.
למידע נוסף
יצירת יישום ראשי של שירות באמצעות API (Preview)
PowerShell - צור מנהל שירות