के माध्यम से साझा करें


प्रमाणीकरण

यह आलेख Power Platform API को कॉल करने के लिए Microsoft Entra सेटअप का अवलोकन प्रदान करता है। Power Platform API के माध्यम से उपलब्ध संसाधनों तक पहुँचने के लिए, आपको Microsoft Entra से एक वाहक टोकन प्राप्त करना होगा और इसे प्रत्येक अनुरोध के साथ हेडर के रूप में भेजना होगा. आपके द्वारा समर्थित पहचान प्रकार (उपयोगकर्ता बनाम सेवा प्रिंसिपल) के आधार पर इस वाहक टोकन को प्राप्त करने के लिए अलग-अलग प्रवाह हैं, जैसा कि इस आलेख में वर्णित है।

सही अनुमतियों के साथ धारक टोकन प्राप्त करने के लिए निम्नलिखित चरणों की आवश्यकता होती है:

  1. अपने Microsoft Entra टेनेंट में एक एप्लिकेशन पंजीकरण बनाएँ
  2. API अनुमतियों को कॉन्फ़िगर करें
  3. सार्वजनिक क्लाइंट कॉन्फ़िगर करें (वैकल्पिक)
  4. प्रमाणपत्र और रहस्य कॉन्फ़िगर करें (वैकल्पिक)
  5. एक्सेस टोकन का अनुरोध करें

चरण 1. ऐप्लिकेशन पंजीकरण बनाएँ

Microsoft Entra ऐप पंजीकरण पृष्ठ पर जाएँ और एक नया पंजीकरण बनाएँ। ऐप्लिकेशन को एक नाम दें, और सुनिश्चित करें कि एकल टैनेंट विकल्प चुना गया है. आप रीडायरेक्ट URI सेटअप को छोड़ सकते हैं.

चरण 2. API अनुमतियों को कॉन्फ़िगर करें

आपके नए ऐप पंजीकरण में, API अनुमतियाँ - प्रबंधित करें टैब पर नेविगेट करें. अनुमतियों को कॉन्फ़िगर करें अनुभाग के नीचे, एक अनुमति जोड़ें का चयन करें. खुलने वाली संवाद विंडो पर, मेरे संगठन में उपयोग होने वाले API टैब का चयन करें, और फिर Power Platform API की खोज करें. आपको इसके समान नाम वाली कई प्रविष्टियाँ दिखाई दे सकती हैं, इसलिए सुनिश्चित करें कि आप 8578e004-a5c6-46e7-913e-12f58912df43 GUID वाली प्रविष्टि का उपयोग करें।

यदि आपको GUID द्वारा खोज करते समय सूची में API दिखाई नहीं देता है, तो संभव है कि आपके पास अभी भी उस तक पहुंच हो, लेकिन दृश्यता ताज़ा नहीं हुई है। Power Platform किसी ताज़ा करने के लिए बाध्य करने के लिए, निम्न स्क्रिप्ट चलाएँ:

#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 जो एप्लिकेशन पैकेज के लिए पढ़ने की अनुमतियाँ देते हैं। अधिक जानकारी के लिए, हमारा अनुमति संदर्भ लेख देखें।

नोट

Power Platform API इस समय केवल प्रत्यायोजित अनुमतियों का उपयोग करता है. उपयोगकर्ता संदर्भ के साथ चलने वाले ऐप्लिकेशन के लिए, आप कार्यक्षेत्र पैरामीटर का उपयोग करके प्रत्यायोजित अनुमतियों का अनुरोध करते हैं. ये अनुमतियां आपके ऐप्लिकेशन में साइन-इन किए गए उपयोगकर्ता के विशेषाधिकारों को प्रत्यायोजित करती हैं, जिससे यह Power Platform API समाप्ति बिंदुओं को कॉल करते समय उपयोगकर्ता के रूप में कार्य कर सके.

सेवा प्रिंसिपल पहचान के लिए, अनुप्रयोग अनुमतियों का उपयोग नहीं किया जाता है। इसके बजाय सेवा प्रिंसिपल्स को आज Power Platform व्यवस्थापक माना जाता है और उन्हें PowerShell - सेवा प्रिंसिपल बनाएँ का पालन करके पंजीकृत होना चाहिए.

क्लाइंट ऐप्लिकेशन में आवश्यक अनुमतियां जोड़े जाने के बाद, सेटअप पूरा करने के लिए व्यवस्थापक सहमति दें का चयन करें. यह उन उदाहरणों के लिए आवश्यक है जहाँ आप इंटरैक्टिव सहमति अनुभव की आवश्यकता के बजाय उपयोगकर्ताओं को तुरंत अपने ऐप तक पहुंचने की अनुमति देना चाहते हैं. यदि आप इंटरैक्टिव सहमति का समर्थन कर सकते हैं, तो हम Microsoft पहचान प्लेटफ़ॉर्म और OAuth 2.0 प्राधिकरण कोड प्रवाह का पालन करने की सलाह देते हैं।

चरण 3. सार्वजनिक क्लाइंट कॉन्फ़िगर करें (वैकल्पिक)

यदि आपके ऐप को किसी उपयोगकर्ता की ओर से संसाधनों को पढ़ने और लिखने की आवश्यकता है, तो आपको सार्वजनिक क्लाइंट सेटिंग सक्षम करनी होगी। यह एकमात्र तरीका है जिससे Microsoft Entra ID आपके टोकन अनुरोध के मुख्य भाग में उपयोगकर्ता नाम और पासवर्ड गुण स्वीकार करता है। यह भी ध्यान दें, कि यदि आप इस सुविधा का उपयोग करने की योजना बना रहे हैं, तो यह उन खातों के लिए काम नहीं करता है जिनके पास मल्टीफैक्टर प्रमाणीकरण सक्षम है।

सक्षम करने के लिए, प्रबंधित करें - प्रमाणीकरण टैब पर जाएँ. उन्नत सेटिंग्स सेक्शन के अंतर्गत, सार्वजनिक क्लाइंट को स्विच करके हाँ पर सेट करें.

चरण 4. प्रमाणपत्र और रहस्य कॉन्फ़िगर करें (वैकल्पिक)

यदि आपके ऐप को स्वयं संसाधनों को पढ़ने और लिखने की आवश्यकता है - जिसे सर्विस प्रिंसिपल भी कहा जाता है, तो प्रमाणीकरण के दो तरीके हैं। प्रमाणपत्रों का उपयोग करने के लिए, प्रबंधित करें - प्रमाण पत्र और रहस्य टैब पर नेविगेट करें. प्रमाण पत्र अनुभाग के नीचे, एक x509 प्रमाणपत्र अपलोड करें जिसे आप प्रमाणित करने के लिए उपयोग कर सकते हैं. एक ग्राहक सीक्रेट जनरेट करने के लिए सीक्रेट सेक्शन का उपयोग करना एक अन्य तरीका है. अपनी स्वचालन आवश्यकताओं के उपयोग के लिए एक सुरक्षित स्थान पर रहस्य को सहेजें। प्रमाणपत्र या गुप्त विकल्प आपको इस क्लाइंट के लिए प्रमाणीकरण करने और टोकन प्राप्त करने की अनुमति देते हैं, जिसे आप REST API या PowerShell cmdlets को पास करते हैं। Microsoft Entra

चरण 5. एक्सेस टोकन का अनुरोध करें

एक्सेस धारक टोकन प्राप्त करने के दो तरीके हैं. एक उपयोगकर्ता नाम और पासवर्ड के लिए है और दूसरा सेवा प्रिंसिपल के लिए है.

उपयोगकर्ता नाम और पासवर्ड प्रवाह

उपरोक्त सार्वजनिक क्लाइंट सेक्शन को पढ़ना सुनिश्चित करें. फिर, उपयोगकर्ता नाम और पासवर्ड पेलोड के साथ Microsoft Entra ID को HTTP के माध्यम से एक POST अनुरोध भेजें।

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 में प्राप्त कर सकते हैं। आपको एक प्रत्युत्तर प्राप्त होता है जिसका उपयोग Power Platform API पर अनुवर्ती कॉल करने के लिए किया जा सकता है।

{
  "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..."
}

एक्सेस टोकन मान का उपयोग प्राधिकरण HTTP हेडर के साथ बाद में Power Platform API को कॉल करने के लिए करें.

सेवा प्रमुख प्रवाह

उपरोक्त प्रमाणपत्र और सीक्रेट सेक्शन को पढ़ना सुनिश्चित करें. फिर, क्लाइंट सीक्रेट पेलोड के साथ Microsoft Entra ID को HTTP के माध्यम से एक POST अनुरोध भेजें। इसे अक्सर सेवा प्रमुख प्रमाणीकरण के रूप में संदर्भित किया जाता है।

महत्त्वपूर्ण

इसका उपयोग केवल तभी किया जा सकता है जब आपने इस क्लाइंट एप्लिकेशन आईडी को 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 में प्राप्त कर सकते हैं। आपको एक प्रत्युत्तर प्राप्त होता है जिसका उपयोग Power Platform API पर अनुवर्ती कॉल करने के लिए किया जा सकता है।

{
  "token_type": "Bearer",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOiJKV1..."
}

एक्सेस टोकन मान का उपयोग प्राधिकरण HTTP हेडर के साथ बाद में Power Platform API को कॉल करने के लिए करें. जैसा कि ऊपर उल्लेख किया गया है, सर्विस प्रिंसिपल प्रवाह अनुप्रयोग अनुमतियों का उपयोग नहीं करता है और इसके बजाय, अभी के लिए, उनके द्वारा की जाने वाली सभी कॉलों के लिए प्रशासक के रूप में माना जाता है। Power Platform

API (पूर्वावलोकन) के माध्यम से एक सेवा प्रमुख अनुप्रयोग बनाना
PowerShell - सेवा प्रिंसिपल बनाएँ