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

Edge मैनेजमेंट एपीआई का इस्तेमाल करते समय पुष्टि करने का बुनियादी तरीका, पुष्टि करने का एक तरीका है. उदाहरण के लिए, अपने संगठन की जानकारी ऐक्सेस करने के लिए, Edge management API को curl अनुरोध भेजा जा सकता है:

curl -u USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME

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

curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP_DNS:8080/v1/organizations/ORG_NAME

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

get_token की मदद से टोकन पाएं और उन्हें रीफ़्रेश करें

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

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

Edge मैनेजमेंट एपीआई कॉल करने के लिए, OAuth2 ऐक्सेस टोकन पाने के लिए:

  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, Apigee एसएसओ (SSO) मॉड्यूल को होस्ट करने वाली मशीन का आईपी पता या डीएनएस नाम है. अगर आपने Apigee एसएसओ (SSO) पर TLS को कॉन्फ़िगर किया है, तो https और सही TLS पोर्ट नंबर का इस्तेमाल करें.

  2. ssocli-bundle.zip बंडल को अनज़िप करें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
    unzip ssocli-bundle.zip
  3. /usr/local/bin में get_token इंस्टॉल करें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
    ./install -b PATH

    -b विकल्प किसी दूसरी जगह के बारे में बताता है.

  4. इस फ़ॉर्म में, अपने लॉगिन यूआरएल में SSO_LOGIN_URL एनवायरमेंट वैरिएबल सेट करें:
    export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"

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

  5. (सिर्फ़ एसएएमएल) एक बार इस्तेमाल होने वाला पासवर्ड पाने के लिए, ब्राउज़र में इस यूआरएल पर जाएं:
    http://EDGE_SSO_IP_DNS:9099/passcode

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

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

    ध्यान दें कि एसएएमएल आईडीपी से पुष्टि करते समय ही पासवर्ड का इस्तेमाल किया जा सकता है. LDAP आईडीपी से पुष्टि करने के लिए पासवर्ड का इस्तेमाल नहीं किया जा सकता.

  6. OAuth2 ऐक्सेस टोकन पाने के लिए, get_token को शुरू करें, जैसा कि इस उदाहरण में दिखाया गया है:
    get_token -u EMAIL_ADDRESS

    जहां EMAIL_ADDRESS, Edge का इस्तेमाल करने वाले का ईमेल पता है.

    (सिर्फ़ एसएएमएल) ईमेल पते के अलावा, कमांड लाइन पर भी पासवर्ड डालें. जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

    get_token -u EMAIL_ADDRESS -p PASSCODE

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

  7. Bearer हेडर के तौर पर ऐक्सेस टोकन को Edge management API कॉल में पास करें, जैसा कि आगे दिए गए उदाहरण में दिखाया गया है:
    curl -H "Authorization: Bearer ACCESS_TOKEN"
      https://MS_IP:8080/v1/organizations/ORG_NAME
  8. पहली बार नया ऐक्सेस टोकन मिलने के बाद, आपके पास ऐक्सेस टोकन पाने और उसे एक निर्देश में एपीआई कॉल में पास करने का विकल्प होता है, जैसा कि इस उदाहरण में दिखाया गया है:
    header=`get_token` && curl -H "Authorization: Bearer $header"
      https://MS_IP:8080/v1/o/ORG_NAME

    इस तरह के निर्देश के साथ, अगर ऐक्सेस टोकन की समयसीमा खत्म हो जाती है, तो वह अपने-आप तब तक रीफ़्रेश हो जाता है, जब तक रीफ़्रेश टोकन की समयसीमा खत्म नहीं हो जाती.

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

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

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

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

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

ऐक्सेस टोकन पाना

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

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 \
  http://EDGE_SSO_IP_DNS:9099/oauth/token -s \
  -d 'grant_type=password&username=USER_EMAIL&password=USER_PASSWORD'

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

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'

ध्यान दें कि एसएएमएल आईडीपी से पुष्टि करने के लिए अस्थायी पासवर्ड की ज़रूरत होती है, जबकि एलडीएपी आईडीपी में ऐसा नहीं होता.

ऐक्सेस टोकन को रीफ़्रेश करना

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

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=REFRESH_TOKEN'