Edge for Private Cloud v4.19.01
Edge API के साथ एसएएमएल का इस्तेमाल करते समय, एसएएमएल असर्शन से OAuth2 ऐक्सेस और रीफ़्रेश टोकन पाने के लिए इस्तेमाल की जाने वाली प्रोसेस को पासकोड फ़्लो कहा जाता है. पासकोड फ़्लो की मदद से, ब्राउज़र का इस्तेमाल करके एक बार इस्तेमाल होने वाला पासकोड हासिल किया जाता है. इसके बाद, इस पासकोड का इस्तेमाल करके OAuth2 टोकन हासिल किए जाते हैं.
हालांकि, हो सकता है कि आपका डेवलपमेंट एनवायरमेंट, डेवलपमेंट से जुड़े सामान्य टास्क के लिए ऑटोमेशन की सुविधा देता हो. जैसे, टेस्ट ऑटोमेशन या लगातार इंटिग्रेशन/लगातार डिप्लॉयमेंट (सीआई/सीडी). SAML चालू होने पर इन टास्क को ऑटोमेट करने के लिए, आपको OAuth2 टोकन पाने और उन्हें रीफ़्रेश करने का तरीका चाहिए. इसके लिए, आपको ब्राउज़र से पासकोड को कॉपी/पेस्ट करने की ज़रूरत नहीं है.
Edge, एसएएमएल संगठनों में मशीन उपयोगकर्ताओं का इस्तेमाल करके, अपने-आप टोकन जनरेट करने की सुविधा देता है. मशीन उपयोगकर्ता, पासकोड डाले बिना OAuth2 टोकन हासिल कर सकता है. इसका मतलब है कि Edge Management API का इस्तेमाल करके, OAuth2 टोकन पाने और उन्हें रीफ़्रेश करने की प्रोसेस को पूरी तरह से ऑटोमेट किया जा सकता है.
SAML संगठन के लिए मशीन यूज़र बनाने के दो तरीके हैं:
इनमें से हर तरीके के बारे में, आगे आने वाले सेक्शन में बताया गया है.
बिना एसएएमएल वाले संगठन के लिए, मशीन यूज़र नहीं बनाया जा सकता.
apigee-ssoadminapi.sh की मदद से मशीन यूज़र बनाना
एसएएमएल संगठन में मशीन उपयोगकर्ता बनाने के लिए, apigee-ssoadminapi.sh
यूटिलिटी का इस्तेमाल करें. ज़्यादा जानकारी के लिए, apigee-ssoadminapi.sh का इस्तेमाल करना देखें. आपके पास एक मशीन यूज़र बनाने का विकल्प है, जिसका इस्तेमाल आपके सभी संगठन कर सकते हैं. इसके अलावा, हर संगठन के लिए अलग मशीन यूज़र बनाया जा सकता है.
मशीन यूज़र को Edge डेटास्टोर में बनाया और सेव किया जाता है, न कि आपके एसएएमएल आइडेंटिटी प्रोवाइडर में. इसलिए, Edge यूज़र इंटरफ़ेस (यूआई) और Edge मैनेजमेंट एपीआई का इस्तेमाल करके, मशीन यूज़र को मैनेज करने की ज़िम्मेदारी आपकी नहीं है.
मशीन यूज़र बनाते समय, आपको एक ईमेल पता और पासवर्ड डालना होगा. मशीन यूज़र बनाने के बाद, उसे एक या उससे ज़्यादा संगठनों को असाइन किया जाता है.
apigee-ssoadminapi.sh की मदद से मशीन यूज़र बनाने के लिए:
- मशीन यूज़र बनाने के लिए, इस
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, एडमिन का उपयोगकर्ता नाम है. इसे Edge SSO मॉड्यूल को कॉन्फ़िगर करने के लिए इस्तेमाल की जाने वाली कॉन्फ़िगरेशन फ़ाइल में,
SSO_ADMIN_NAMEप्रॉपर्टी से तय किया जाता है. डिफ़ॉल्ट रूप से, यह कार्रवाईssoadminपर सेट रहती है. - SSO_ADMIN_SECRET, एडमिन का पासवर्ड है. इसके बारे में कॉन्फ़िगरेशन फ़ाइल में,
SSO_ADMIN_SECRETप्रॉपर्टी में बताया गया है.
इस उदाहरण में,
--portऔर--sslकी वैल्यू को छोड़ा जा सकता है. इसकी वजह यह है किapigee-ssoमॉड्यूल,--portके लिए 9099 और--sslके लिए http की डिफ़ॉल्ट वैल्यू का इस्तेमाल करता है. अगर आपके इंस्टॉलेशन में इन डिफ़ॉल्ट वैल्यू का इस्तेमाल नहीं किया जाता है, तो ज़रूरत के हिसाब से वैल्यू तय करें. - SSO_ADMIN_NAME, एडमिन का उपयोगकर्ता नाम है. इसे Edge SSO मॉड्यूल को कॉन्फ़िगर करने के लिए इस्तेमाल की जाने वाली कॉन्फ़िगरेशन फ़ाइल में,
- Edge यूज़र इंटरफ़ेस (यूआई) में लॉग इन करें और मशीन यूज़र का ईमेल पता अपने संगठनों में जोड़ें. साथ ही, मशीन यूज़र को ज़रूरी भूमिका असाइन करें. ज़्यादा जानकारी के लिए, ग्लोबल उपयोगकर्ताओं को जोड़ना लेख पढ़ें.
Edge मैनेजमेंट एपीआई की मदद से मशीन यूज़र बनाना
apigee-ssoadminapi.sh यूटिलिटी का इस्तेमाल करने के बजाय, Edge मैनेजमेंट एपीआई का इस्तेमाल करके मशीन यूज़र बनाया जा सकता है.
Management API की मदद से मशीन यूज़र बनाने के लिए:
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प्रॉपर्टी के साथ बताया गया है.यह कमांड एक टोकन दिखाता है, जिसकी ज़रूरत आपको अगला कॉल करने के लिए होती है.
- मशीन यूज़र बनाने के लिए, यहां दिए गए
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"आपको बाद के चरणों में मशीन यूज़र के पासवर्ड की ज़रूरत होगी.
- Edge यूज़र इंटरफ़ेस (यूआई) में लॉग इन करें.
- मशीन यूज़र का ईमेल पता अपने संगठनों में जोड़ें और मशीन यूज़र को ज़रूरी भूमिका असाइन करें. ज़्यादा जानकारी के लिए, ग्लोबल उपयोगकर्ताओं को जोड़ना लेख पढ़ें.
मशीन यूज़र टोकन पाना और उन्हें रीफ़्रेश करना
पासकोड के बजाय मशीन उपयोगकर्ता के क्रेडेंशियल पास करके, OAuth2 टोकन पाने और उन्हें रीफ़्रेश करने के लिए, Edge API का इस्तेमाल करें.
मशीन यूज़र के लिए 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 \ http://Edge_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=m_user_email&password=m_user_password'
टोकन को बाद में इस्तेमाल करने के लिए सेव करें.
- ऐक्सेस टोकन को Edge मैनेजमेंट एपीआई कॉल में, Bearer हेडर के तौर पर पास करें:
curl -H "Authorization: Bearer access_token" \ http://MS_IP_DNS:8080/v1/organizations/org_name
यहां org_name उस संगठन का नाम है जिसमें मशीन यूज़र मौजूद है.
- ऐक्सेस टोकन को बाद में रीफ़्रेश करने के लिए, इस कॉल का इस्तेमाल करें. इसमें रीफ़्रेश टोकन शामिल होता है:
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'