Edge मैनेजमेंट एपीआई के साथ एसएएमएल का इस्तेमाल करना

Edge for Private Cloud v4.19.01

'बुनियादी पुष्टि' सुविधा, Edge Management API पर कॉल करते समय पुष्टि करने का एक तरीका है. उदाहरण के लिए, अपने संगठन की जानकारी को ऐक्सेस करने के लिए, Edge management API को नीचे दिए गए cURL के लिए अनुरोध किया जा सकता है:

curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

इस उदाहरण में, आप बेसिक पुष्टि क्रेडेंशियल पास करने के लिए cURL -u विकल्प का इस्तेमाल करते हैं. इसके अलावा, Edge मैनेजमेंट एपीआई कॉल करने के लिए, Bearer हेडर में OAuth2 टोकन पास किया जा सकता है. उदाहरण के लिए:

curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName

एसएएमएल चालू करने के बाद, 'बुनियादी पुष्टि' सुविधा को बंद किया जा सकता है. अगर आपने 'बुनियादी पुष्टि' सुविधा को बंद किया है, तो ऐसी सभी स्क्रिप्ट (Maven स्क्रिप्ट, शेल स्क्रिप्ट, apigeetool वगैरह) अब काम नहीं करेंगी जो Edge Management API कॉल पर निर्भर करती हैं. आपको ऐसे सभी एपीआई कॉल और स्क्रिप्ट को अपडेट करना होगा जो बेयरर हेडर में, OAuth2 ऐक्सेस टोकन पास करने के लिए बेसिक पुष्टि का इस्तेमाल करती हैं.

टोकन पाने और रीफ़्रेश करने के लिए get_token का इस्तेमाल करना

get_token यूटिलिटी सेवा आपके बेसिक पुष्टि क्रेडेंशियल और OAuth2 ऐक्सेस और रीफ़्रेश टोकन के लिए पासवर्ड बदल देती है. get_token यूटिलिटी सेवा आपके क्रेडेंशियल स्वीकार करती है और मान्य ऐक्सेस टोकन को प्रिंट करती है. अगर किसी टोकन को रीफ़्रेश किया जा सकता है, तो वह उसे रीफ़्रेश कर देगा और प्रिंट कर देगा. रीफ़्रेश टोकन की समयसीमा खत्म होने पर, इससे उपयोगकर्ता के क्रेडेंशियल डालने का अनुरोध दिखेगा.

get_token यूटिलिटी, डिस्क में टोकन सेव करती है और ज़रूरत पड़ने पर इनका इस्तेमाल कर सकती है. यह stdout के लिए एक मान्य ऐक्सेस टोकन भी प्रिंट करता है. वहां से, पोस्टमैन का इस्तेमाल किया जा सकता है या कर्ल में इस्तेमाल करने के लिए इसे एनवायरमेंट वैरिएबल में एम्बेड किया जा सकता है.

इस प्रोसेस में बताया गया है कि Edge मैनेजमेंट एपीआई कॉल करने के लिए, OAuth2 ऐक्सेस टोकन पाने के लिए get_token का इस्तेमाल कैसे करें:

  1. sso-cli बंडल डाउनलोड करें:
    curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"

    जहां edge_sso_IP_DNS, Edge एसएसओ मॉड्यूल को होस्ट करने वाली मशीन के डीएनएस नाम का आईपी पता है. अगर आपने Edge एसएसओ (SSO) पर TLS को कॉन्फ़िगर किया है, तो https और सही TLS पोर्ट नंबर का इस्तेमाल करें.

  2. ssocli-bundle.zip बंडल को अनज़िप करें:
    unzip ssocli-bundle.zip
  3. get_token में get_token इंस्टॉल करें:
    get_token कोई दूसरी जगह बताने के लिए, get_token विकल्प का इस्तेमाल करें: > ./install -b पाथ
  4. अपने लॉगिन यूआरएल में SSO_LOGIN_URL एनवायरमेंट वैरिएबल को इस फ़ॉर्म में सेट करें:
    Export_SSO_LOGIN_URL="http://edge_sso_IP_डीएनएस:9099"

    में, edge_sso_IP_DNS एज एसएसओ मॉड्यूल को होस्ट करने वाली मशीन का आईपी पता है. अगर आपने Edge एसएसओ (SSO) पर TLS को कॉन्फ़िगर किया है, तो https और सही TLS पोर्ट नंबर का इस्तेमाल करें.
  5. एक बार इस्तेमाल होने वाला पासवर्ड पाने के लिए, ब्राउज़र में इस यूआरएल पर जाएं:
    http://edge_sso_IP_DNS:9099/passcode

    अगर आपने Edge एसएसओ (SSO) पर TLS को कॉन्फ़िगर किया है, तो https और सही TLS पोर्ट नंबर का इस्तेमाल करें.

    ध्यान दें: अगर आपने फ़िलहाल अपने आइडेंटिटी प्रोवाइडर से लॉग इन नहीं किया है, तो आपको लॉग इन करने के लिए कहा जाएगा.

    यह यूआरएल एक बार इस्तेमाल होने वाला पासवर्ड दिखाता है. यह तब तक मान्य रहता है, जब तक आप नया पासवर्ड पाने के लिए उस यूआरएल को रीफ़्रेश नहीं करते या ऐक्सेस टोकन जनरेट करने के लिए get_token के साथ पासवर्ड का इस्तेमाल नहीं करते.
  6. OAuth2 ऐक्सेस टोकन पाने के लिए, get_token को शुरू करें:
    > get_token -u emailAddress

    में, Edge के उपयोगकर्ता का ईमेल पता emailAddress है. आपको तीसरे चरण में मिला एक बार इस्तेमाल होने वाला पासवर्ड डालने के लिए कहा जाएगा:
    एक बार इस्तेमाल होने वाला कोड ( https://edge_sso_IP.com/passcode पर जाकर) पाएं
    अगर एसएएमएल चालू है, तो पासवर्ड डालें या ENTER दबाएं:


    पासवर्ड डालें. get_token यूटिलिटी, OAuth2 ऐक्सेस टोकन लेती है और उसे स्क्रीन पर प्रिंट करती है. साथ ही, उसे और रीफ़्रेश टोकन को ~/.sso-cli पर लिखती है.

    कमांड लाइन पर, इस फ़ॉर्म में get_token कमांड का इस्तेमाल करके पासवर्ड डाला जा सकता है:
    > get_token -u emailAddress -p पासकोड
  7. ऐक्सेस टोकन को Bearer हेडर के तौर पर Edge management API कॉल में पास करें:
    > curl -H "authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName

    नीचे दिए गए सिंगल ऐक्सेस टोकन की समयसीमा खत्म होने के बाद, /geturl -H को अपने-आप रीफ़्रेश हो जाएगा.


रीफ़्रेश टोकन के खत्म होने के बाद, get_token आपको नए पासवर्ड के लिए प्रॉम्प्ट करता है. नया OAuth ऐक्सेस टोकन जनरेट करने से पहले, आपको तीसरे चरण में ऊपर दिखाए गए यूआरएल पर जाकर एक नया पासवर्ड जनरेट करना होगा

टोकन पाने और उन्हें रीफ़्रेश करने के लिए, management API का इस्तेमाल करना

Apigee Edge management API की मदद से, OAuth2 सुरक्षा का इस्तेमाल करने में निर्देश दिए गए हैं. इनमें बताया गया है कि टोकन पाने और उन्हें रीफ़्रेश करने के लिए, Edge मैनेजमेंट एपीआई का इस्तेमाल कैसे करें. एसएएमएल दावों से जनरेट हुए टोकन के लिए भी, EDGE API कॉल का इस्तेमाल किया जा सकता है.

Apigee Edge मैनेजमेंट एपीआई के साथ OAuth2 सुरक्षा का इस्तेमाल करना में बताए गए एपीआई कॉल के बीच अंतर सिर्फ़ यह है कि कॉल के यूआरएल में आपके ज़ोन का नाम होना चाहिए. इसके अलावा, शुरुआती ऐक्सेस टोकन जनरेट करने के लिए, आपको ऊपर दी गई प्रक्रिया के तीसरे चरण में दिखाया गया पासवर्ड शामिल करना होगा.

उदाहरण के लिए, शुरुआती ऐक्सेस और रीफ़्रेश टोकन जनरेट करने के लिए, नीचे दिए गए एपीआई कॉल का इस्तेमाल करें:

curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
  -H "accept: application/json;charset=utf-8" /
  -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
  https://edge_sso_IP_DNS:9099/oauth/token -s /
  -d 'grant_type=password&response_type=token&passcode=passcode'  

अनुमति देने के लिए, ऑथराइज़ेशन हेडर में रिज़र्व किए गए OAuth2 क्लाइंट क्रेडेंशियल को पास करें. कॉल, ऐक्सेस और रीफ़्रेश टोकन को स्क्रीन पर प्रिंट करता है.

ऐक्सेस टोकन को बाद में रीफ़्रेश करने के लिए, रीफ़्रेश टोकन वाले नीचे दिए गए कॉल का इस्तेमाल करें:

curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
-H "Accept: application/json;charset=utf-8" /
-H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
https://edge_sso_IP_DNS:9099/oauth/token /
-d 'grant_type=refresh_token&refresh_token=refreshToken'