إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توفر هذه المقالة نظرة عامة على إعداد Microsoft Entra لاستدعاء واجهة برمجة تطبيقات Power Platform. للوصول إلى الموارد المتوفرة من خلال واجهة برمجة تطبيقات 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، فمن المحتمل أنك لا تزال تملك حق الوصول إليها ولكن لم يتم تحديث إمكانية الرؤية. لفرض تحديث، قم بتشغيل البرنامج النصي التالي:
#Install the Microsoft Graph PowerShell SDK module
Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery -Force
Connect-MgGraph
New-MgServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"
من هنا، يجب تحديد الأذونات التي تحتاجها. هذه الأذونات مجمعة حسب مساحات الأسماء. ضمن مساحة الاسم، ترى أنواع الموارد والإجراءات على سبيل المثال AppManagement.ApplicationPackages.Read التي تمنح أذونات القراءة لحزم التطبيقات. لمزيد من المعلومات، راجع المقال مرجع الأذونات .
ملاحظة
تستخدم واجهة API في Power Platform الأذونات المفوضة في هذا الوقت فقط. بالنسبة للتطبيقات التي يتم تشغيلها مع سياق مستخدم، يمكنك طلب أذونات مفوضة باستخدام معلمة النطاق. تفوض هذه الأذونات امتيازات المستخدم الذي سجل دخوله إلى تطبيقك، مما يسمح له بالعمل كالمستخدم عند استدعاء نقط نهاية واجهة API في Power Platform.
بالنسبة للهويات الأساسية للخدمة، لا يتم استخدام أذونات التطبيق. بدلاً من ذلك، تتم معاملة كيانات الخدمة باعتبارها مسؤولي Power Platform اليوم ويجب تسجيلها باتباع PowerShell - إنشاء كيان خدمة.
بعد إضافة الأذونات المطلوبة إلى التطبيق، حدد منح المسؤول الموافقة لإكمال الإعداد. وهذا أمر ضروري في الحالات التي تريد فيها السماح للمستخدمين بالوصول إلى تطبيقك على الفور، بدلاً من المطالبة بتجربة موافقة تفاعلية. إذا كنت تدعم الموافقة التفاعلية، فنحن ننصحك باتباع سير عمل النظام الأساسي لهوية Microsoft وتدفق رمز التفويض OAuth 2.0.
الخطوة 3. تكوين عميل عام (اختياري)
إذا كان تطبيقك يتطلب قراءة الموارد وكتابتها نيابة عن أحد المستخدمين، فستحتاج إلى تمكين إعداد العميل العام. هذه هي الطريقة الوحيدة التي سيقبل بها Microsoft Entra يقبل المعرف خصائص اسم المستخدم وكلمة المرور في نص طلب الرمز المميز الخاص بك. لاحظ أيضا أنه إذا كنت تخطط لاستخدام هذه الميزة، فإنها لا تعمل مع الحسابات التي تم تمكين المصادقة متعددة العوامل عليها.
لتمكينها، انتقل إلى علامة التبويب إدارة - المصادقة. ضمن القسم إعدادات متقدمة، عيّن المفتاح عميل عام إلى نعم.
الخطوة 4. تكوين الشهادات والأسرار (اختياري)
إذا كان تطبيقك يتطلب قراءة الموارد وكتابتها بنفسه - تُعرف أيضا باسم "كيان الخدمة"، فهناك طريقتان للمصادقة. لاستخدام الشهادات، انتقل إلى علامة التبويب إدارة - الشهادات والأسرار. ضمن قسم الشهادات، قم بتحميل شهادة x509 التي يمكنك استخدامها للمصادقة. الطريقة الأخرى هي استخدام قسم "الأسرار " لإنشاء سر العميل. احفظ السر في مكان آمن لاستخدامه مع احتياجات الأتمتة الخاصة بك. ستسمح لك خيارات الشهادة أو السر بالمصادقة باستخدام Microsoft Entra وتلقي رمز مميز لهذا العميل، والذي ستمرره إما إلى واجهات برمجة تطبيقات REST أو PowerShell cmdlets.
الخطوة 5. طلب رمز مميز للوصول
هناك طريقتان للحصول على الرمز المميز للحامل. إحداها هي لكل من اسم المستخدم وكلمة المرور والأخرى لكيان الخدمة.
سير عمل اسم المستخدم وكلمة المرور
تأكد من قراءة قسم العميل العام أعلاه. بعد ذلك، أرسل طلب POST عبر HTTP إلى معرف Microsoft Entra مع حمولة اسم مستخدم وكلمة مرور.
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. ستتلقى ردًا يمكن استخدامه لإجراء مكالمات لاحقة إلى واجهة برمجة تطبيقات 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 مع حمولة سر العميل. وغالبًا ما يُشار إلى ذلك بالمصادقة الأساسية للخدمة.
مهم
لا يمكن استخدام ذلك إلا بعد تسجيلك لمعرف تطبيق هذا العميل مع 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. ستتلقى ردًا يمكن استخدامه لإجراء مكالمات لاحقة إلى واجهة برمجة تطبيقات Power Platform.
{
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1..."
}
استخدم قيمة access_token في الاستدعاءات التالية لواجهة API في Power Platform مع رأس HTTP التفويض. كما هو ملاحظ أعلاه، لا يستخدم سير عمل كيان الخدمة أذونات التطبيق، وتتم معاملته الآن بدلاً من ذلك كمسؤول Power Platform لجميع الاستدعاءات التي يقوم بها.
المحتوى ذو الصلة
إنشاء تطبيق كيان خدمة عبر API (إصدار أولي)
PowerShell - إنشاء كيان خدمة