ऑटोमेटेड टास्क के साथ एसएएमएल का इस्तेमाल करना

Edge for Private Cloud v4.19.01

Edge API के साथ एसएएमएल का इस्तेमाल करते समय, एसएएमएल दावे से OAuth2 का ऐक्सेस पाने और टोकन को रीफ़्रेश करने के लिए इस्तेमाल की जाने वाली प्रोसेस को पासवर्ड फ़्लो कहा जाता है. पासवर्ड के फ़्लो में, एक बार इस्तेमाल होने वाला पासवर्ड पाने के लिए ब्राउज़र का इस्तेमाल किया जाता है. इसके बाद, इस पासवर्ड का इस्तेमाल OAuth2 टोकन पाने के लिए किया जाता है.

हालांकि, हो सकता है कि आपके डेवलपमेंट एनवायरमेंट में, सामान्य डेवलपमेंट से जुड़े टास्क के लिए ऑटोमेशन की सुविधा काम करे. जैसे, टेस्ट ऑटोमेशन या कंटिन्यूअस इंटिग्रेशन/कंटिन्यूअस डिप्लॉयमेंट (सीआई/सीडी). एसएएमएल चालू होने पर इन टास्क को अपने-आप शुरू करने के लिए, आपको OAuth2 टोकन पाने और उन्हें रीफ़्रेश करने का कोई तरीका चाहिए. इसके लिए, आपको ब्राउज़र से पासवर्ड को कॉपी करने/चिपकाने की ज़रूरत नहीं होगी.

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

एसएएमएल संगठन के लिए मशीन उपयोगकर्ता बनाने के दो तरीके हैं:

इनमें से हर एक तरीके के बारे में बाद के सेक्शन में बताया गया है.

आप किसी गैर-SAML संगठन के लिए मशीन उपयोगकर्ता नहीं बना सकते.

apigee-ssoadminapi.sh की मदद से मशीन उपयोगकर्ता बनाएं

एसएएमएल संगठन में मशीन उपयोगकर्ता बनाने के लिए apigee-ssoadminapi.sh यूटिलिटी का इस्तेमाल करें. ज़्यादा जानकारी के लिए, apigee-ssoadminapi.sh) का इस्तेमाल करना देखें. आपके पास मशीन का एक ऐसा उपयोगकर्ता बनाने का विकल्प होता है जिसे आपके सभी संगठन इस्तेमाल करें. इसके अलावा, हर संगठन के लिए अलग-अलग मशीन उपयोगकर्ता बनाया जा सकता है.

मशीन उपयोगकर्ता को Edge डेटास्टोर में बनाया और सेव किया जाता है, न कि आपके एसएएमएल आइडेंटिटी प्रोवाइडर में. इसलिए, Edge Ui और Edge मैनेजमेंट एपीआई का इस्तेमाल करके, मशीन का इस्तेमाल करने वाले उपयोगकर्ता के रखरखाव की ज़िम्मेदारी आपकी नहीं है.

मशीन उपयोगकर्ता बनाते समय, आपको ईमेल पता और पासवर्ड बताना होगा. मशीन उपयोगकर्ता बनाने के बाद, आपको उसे एक या उससे ज़्यादा संगठनों को असाइन करना होता है.

apigee-ssoadminapi.sh वाला मशीन उपयोगकर्ता बनाने के लिए:

  1. मशीन उपयोगकर्ता बनाने के लिए, नीचे दिए गए apigee-ssoadminapi.sh कमांड का इस्तेमाल करें:
    apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \
      --secret SSO_ADMIN_SECRET --host Edge_SSO_IP_or_DNS \
      -u machine_user_email -p machine_user_password

    जगह:

    • SSO_ADMIN_NAME, एडमिन उपयोगकर्ता नाम है. इसे SSO_ADMIN_NAME प्रॉपर्टी के हिसाब से कॉन्फ़िगर किया जाता है. यह कॉन्फ़िगरेशन फ़ाइल की कॉन्फ़िगरेशन फ़ाइल होती है, जिसका इस्तेमाल Edge एसएसओ (SSO) मॉड्यूल को कॉन्फ़िगर करने के लिए किया जाता है. डिफ़ॉल्ट वैल्यू ssoadmin है.
    • SSO_ADMIN_SECRET एडमिन पासवर्ड है, जैसा कि कॉन्फ़िगरेशन फ़ाइल में SSO_ADMIN_SECRET प्रॉपर्टी के ज़रिए बताया गया है.
    • इस उदाहरण में, --port और --ssl की वैल्यू को छोड़ा जा सकता है, क्योंकि apigee-sso मॉड्यूल --port के लिए 9099 और --ssl के लिए एचटीटीपी की डिफ़ॉल्ट वैल्यू इस्तेमाल करता है. अगर आपका इंस्टॉलेशन, इन डिफ़ॉल्ट सेटिंग का इस्तेमाल नहीं करता है, तो उनके बारे में बताएं.

  2. Edge यूज़र इंटरफ़ेस (यूआई) में लॉग इन करें और मशीन के उपयोगकर्ता का ईमेल अपने संगठन में जोड़ें. साथ ही, मशीन इस्तेमाल करने वाले को ज़रूरी भूमिका असाइन करें. ज़्यादा जानकारी के लिए, ग्लोबल उपयोगकर्ता जोड़ना देखें.

Edge management API की मदद से मशीन उपयोगकर्ता बनाएं

apigee-ssoadminapi.sh यूटिलिटी के बजाय, Edge मैनेजमेंट एपीआई का इस्तेमाल करके मशीन उपयोगकर्ता बनाया जा सकता है.

management API की मदद से मशीन उपयोगकर्ता बनाने के लिए:

  1. ssoadmin उपयोगकर्ता के लिए टोकन पाने के लिए, नीचे दिए गए curl निर्देश का इस्तेमाल करें. apigee-sso के एडमिन खाते का उपयोगकर्ता नाम पाएं:
    curl "http://Edge_SSO_IP_DNS:9099/oauth/token" -i -X POST \
      -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \
      -d "response_type=token" -d "grant_type=client_credentials" \
      --data-urlencode "client_secret=SSO_ADMIN_SECRET" \
      --data-urlencode "client_id=ssoadmin"

    यहां SSO_ADMIN_SECRET वह एडमिन पासवर्ड है जिसे आपने apigee-sso इंस्टॉल करते समय सेट किया था. ऐसा, कॉन्फ़िगरेशन फ़ाइल में मौजूद SSO_ADMIN_SECRET प्रॉपर्टी के ज़रिए बताया गया है.

    यह निर्देश एक टोकन दिखाता है, जिसे आपको अगला कॉल करने के लिए ज़रूरत होती है.

  2. पिछले चरण में आपको मिले टोकन को पास करते हुए, मशीन उपयोगकर्ता बनाने के लिए इस curl कमांड का इस्तेमाल करें:
    curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \
      -H "Accept: application/json" -H "Content-Type: application/json" \
      -d '{"userName" : "machine_user_email", "name" :
        {"formatted":"DevOps", "familyName" : "last_name", "givenName" :
        "first_name"}, "emails" : [ {"value" :
        "machine_user_email", "primary" : true } ], "active" : true,
        "verified" : true, "password" : "machine_user_password" }' \
      -H "Authorization: Bearer token"

    आपको बाद के चरणों में मशीन उपयोगकर्ता पासवर्ड की ज़रूरत होगी.

  3. Edge यूज़र इंटरफ़ेस (यूआई) में लॉग इन करें.
  4. अपने संगठनों में मशीन उपयोगकर्ता का ईमेल जोड़ें और मशीन उपयोगकर्ता को ज़रूरी भूमिका असाइन करें. ज़्यादा जानकारी के लिए, ग्लोबल उपयोगकर्ताओं को जोड़ना देखें.

मशीन उपयोगकर्ता टोकन पाना और रीफ़्रेश करना

OAuth2 टोकन पाने और उन्हें रीफ़्रेश करने के लिए, Edge API का इस्तेमाल करें. इसके लिए, पासवर्ड के बजाय मशीन के उपयोगकर्ता के क्रेडेंशियल पास करें.

मशीन उपयोगकर्ता के लिए OAuth2 टोकन पाने के लिए:

  1. शुरुआती ऐक्सेस और रीफ़्रेश टोकन जनरेट करने के लिए, इस एपीआई कॉल का इस्तेमाल करें:
    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=m_user_email&password=m_user_password'

    टोकन को सेव करके रखें, ताकि बाद में उसका इस्तेमाल किया जा सके.

  2. बेयरर हेडर के तौर पर, ऐक्सेस टोकन को Edge मैनेजमेंट एपीआई कॉल में पास करें:
    curl -H "Authorization: Bearer access_token" \
      http://MS_IP_DNS:8080/v1/organizations/org_name

    जहां org_name, उस संगठन का नाम है जिसमें मशीन का इस्तेमाल किया गया है.

  3. बाद में ऐक्सेस टोकन को रीफ़्रेश करने के लिए, इस कॉल का इस्तेमाल करें जिसमें रीफ़्रेश टोकन शामिल हो:
    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 \
      -d 'grant_type=refresh_token&refresh_token=refreshToken'