यहां Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
पर जाएं
Apigee X दस्तावेज़. info
इस विषय में, मैनेजमेंट एपीआई की मदद से कस्टम रोल बनाने और उपयोगकर्ताओं को रोल असाइन करने का तरीका बताया गया है. इसमें, एपीआई की मदद से रोल असाइनमेंट की जांच करने का तरीका भी बताया गया है. (कस्टम रोल की खास जानकारी के लिए, यूज़र इंटरफ़ेस (यूआई) में कस्टम रोल बनाना लेख पढ़ें.)
अनुमति की सेटिंग के बारे में जानकारी
रोल की अनुमतियां, मैनेजमेंट एपीआई के यूआरआई पर सेट की जाती हैं. मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) के यूआरआई पर नहीं. उदाहरण के लिए, अगर आपको अपने Edge संगठन में, ऐप्लिकेशन डेवलपर की इकाइयों के लिए PUT, GET, और/या DELETE की अनुमतियां सेट करनी हैं, तो आपको /developers संसाधन पर अनुमतियां सेट करनी होंगी. ऐसा इसलिए, क्योंकि developers के लिए मैनेजमेंट एपीआई का पाथ https://api.enterprise.apigee.com/v1/organizations/{org_name}/developers है.
(अनुमतियां तय करते समय, आपको पाथ में संगठन का हिस्सा शामिल करने की ज़रूरत नहीं होती. ऐसा इसलिए, क्योंकि
अनुमतियां किसी खास संगठन के लिए होती हैं. इस विषय में, मैनेजमेंट एपीआई कॉल के उदाहरण से यह बात साफ़ होती है.)
खास इकाइयों के लिए भी अनुमतियां सेट की जा सकती हैं. उदाहरण के लिए:
- अगर आपको किसी एक डेवलपर के लिए अनुमतियां सेट करनी हैं, तो उन्हें
/developers/steve@example.comपर सेट करें - किसी खास एपीआई प्रॉडक्ट के लिए, जैसे कि free-api-product, उन्हें
इस पर सेट करें
/apiproducts/free-api-product - किसी खास एनवायरमेंट में, कुंजी-वैल्यू मैप के लिए, आपको
/environments/test/keyvaluemaps/fooMapजैसा कुछ सेट करना होगा. वहीं, टेस्ट एनवायरमेंट में मौजूद सभी कुंजी-वैल्यू मैप के लिए,/environments/test/keyvaluemaps/*सेट करना होगा.
एपीआई का इस्तेमाल करके सेट की गई अनुमतियां:
- कस्टम रोल में मौजूद उपयोगकर्ताओं को, अपनी अनुमतियों के हिसाब से मैनेजमेंट एपीआई कॉल करने की अनुमति देना. उदाहरण के लिए, अगर किसी रोल में सभी एपीआई प्रॉक्सी के लिए रीड ओनली ऐक्सेस की अनुमति है, उस रोल में मौजूद उपयोगकर्ता, List API Proxies API का इस्तेमाल कर सकता है. हालांकि, वह Create an API Proxy API का इस्तेमाल नहीं कर पाएगा.
- यह तय करना कि कस्टम रोल में मौजूद उपयोगकर्ता, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) में क्या देख सकते हैं और क्या कर सकते हैं. उदाहरण के लिए, एपीआई प्रॉक्सी के लिए रीड ओनली ऐक्सेस की अनुमति होने पर, एपीआई प्रॉक्सी पेज पर मौजूद +एपीआई प्रॉक्सी और मिटाएं बटन का ऐक्सेस बंद हो जाता है.
जिन संसाधनों और पाथ के लिए अनुमतियां सेट की जा सकती हैं उन्हें देखने के लिए, अलग-अलग संसाधन यूआरएल पर जाकर, मैनेजमेंट एपीआई का रेफ़रंस देखें.
रोल मैनेजमेंट के बारे में पूरी जानकारी के लिए, User roles API देखें.
सिंटैक्स और प्राथमिकता
अनुमति की सेटिंग में, "इसके बाद की सभी चीज़ों" को दिखाने के लिए, तारे के चिह्न (*) का इस्तेमाल किया जा सकता है. हालांकि, अगर आपने सिर्फ़ पैरंट रिसॉर्स (जैसे, /developers) के लिए अनुमतियां सेट की हैं और कोई खास अनुमति (जैसे, /developers/*) सेट नहीं की है, तो अनुमति /developers और उसके बाद की सभी चीज़ों पर लागू होती है.
अनुमतियों में, PUT का इस्तेमाल POST के तौर पर भी किया जा सकता है.
संसाधनों पर, सामान्य अनुमतियों के साथ-साथ ज़्यादा सटीक अनुमतियां भी सेट की जा सकती हैं. अनुमतियों के ओवरलैप होने पर, ज़्यादा सटीक सेटिंग को प्राथमिकता दी जाती है. उदाहरण के लिए, मान लें कि "developeradmin" रोल के लिए ये अनुमतियां सेट की गई हैं:
- /developers पर PUT
- /developers/* पर GET
इसका मतलब है कि developeradmin ये काम कर सकता है:
- डेवलपर बनाना. हालांकि, किसी खास डेवलपर या सब-इकाई को अपडेट नहीं करना. ऐसा इसलिए, क्योंकि उस पाथ पर ज़्यादा सटीक GET अनुमति सेट की गई है.
- किसी भी डेवलपर या सब-इकाई को पाना. हालांकि, सभी डेवलपर की सूची नहीं पाना.
एपीआई की मदद से सेट की जा सकने वाली सभी अनुमतियों की सूची देखने के लिए, अनुमतियों का रेफ़रंस देखें.
"development" नाम का नया कस्टम रोल बनाना
'development' रोल बनाएं, ताकि डेवलपर एपीआई प्रॉक्सी देख सकें, बना सकें, और अपडेट कर सकें.
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "development" } ] }'
डेवलपमेंट रोल में अनुमतियां जोड़ना
Edge के आर्टफ़ैक्ट के पूरे ग्रुप (जैसे, सभी /apps, /apis, /apiproducts वगैरह) के साथ-साथ, अलग-अलग आर्टफ़ैक्ट (जैसे, कोई खास ऐप्लिकेशन, एपीआई प्रॉक्सी या एपीआई प्रॉडक्ट) के लिए, GET, PUT, और DELETE अनुमतियां सेट की जा सकती हैं.
GET की मदद से, उपयोगकर्ता किसी भी एपीआई को देख सकते हैं. इनमें एपीआई प्रॉक्सी कॉन्फ़िगरेशन फ़ाइलें, उनसे जुड़ी नीतियां, JavaScript, XSLT फ़ाइलें वगैरह शामिल हैं. एपीआई पर PUT की अनुमति होने पर, डेवलपर एपीआई प्रॉक्सी बना सकते हैं, उनमें बदलाव कर सकते हैं, उन्हें इंपोर्ट और एक्सपोर्ट कर सकते हैं. साथ ही, उन्हें डिप्लॉय और अनडिप्लॉय भी कर सकते हैं.
पाथ एट्रिब्यूट, उस आर्टफ़ैक्ट के बारे में बताता है जिसके लिए अनुमतियां सेट की जाती हैं. उदाहरण के लिए, /applications, /apps, /apiproducts, /developers या /reports.
curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/development/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "put", "get" ]}'
रोल बनाना: testing
'testing' रोल बनाएं, ताकि क्वालिटी इंजीनियर, एपीआई प्रॉक्सी और उनका कॉन्टेंट देख सकें इनमें, उदाहरण के लिए, नीतियां शामिल हैं.
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "testing" } ] }'
testing रोल में अनुमतियां जोड़ना
GET की मदद से, उपयोगकर्ता किसी भी एपीआई को देख सकते हैं. इनमें उनकी कॉन्फ़िगरेशन फ़ाइलें, उनसे जुड़ी नीतियां, JavaScript, XSLT फ़ाइलें वगैरह शामिल हैं. 'testing' रोल में यह अनुमति जोड़ने पर, क्वालिटी इंजीनियर उन एपीआई का कॉन्टेंट देख सकते हैं जिनकी वे जांच कर रहे हैं. हालांकि, इस रोल में मौजूद उपयोगकर्ता, एपीआई प्रॉक्सी नहीं बना पाएंगे, उनमें बदलाव नहीं कर पाएंगे, उन्हें इंपोर्ट और एक्सपोर्ट नहीं कर पाएंगे. साथ ही, उन्हें डिप्लॉय और अनडिप्लॉय भी नहीं कर पाएंगे.
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/testing/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "get" ]}'
Edge के ऑन-प्रिमाइसेस इंस्टॉलेशन के लिए, अनुमतियों का वह कम से कम सेट सेट करना ज़रूरी है जिससे उपयोगकर्ता Edge यूज़र इंटरफ़ेस (यूआई) में लॉग इन कर सके. ये अनुमतियां हैं:
{"path" : "/","permissions" : [ "get" ]}
{"path" : "/*","permissions" : [ ]}
{"path" : "/environments","permissions" : [ "get" ]}
{"path" : "/userroles","permissions" : [ "get" ]}ये अनुमतियां सेट करने के लिए, यहां दिया गया cURL निर्देश इस्तेमाल करें:
curl -H "Content-Type:application/json" -u email:password \
-X POST \
http://<ms-IP>:8080/v1/organizations/{org_name}/userroles/testing/resourcepermissions \
-d '{
"resourcePermission" : [
{
"path" : "/",
"permissions" : [ "get" ]
},
{
"path" : "/*",
"permissions" : []
},
{
"path" : "/environments",
"permissions" : [ "get" ]
},
{
"path" : "/userroles",
"permissions" : [ "get"]
}
]
}'यहां <ms-IP> , Edge मैनेजमेंट सर्वर का आईपी पता या डीएनएस नाम है.
testing रोल में उपयोगकर्ता जोड़ना
किसी उपयोगकर्ता को कोई रोल असाइन करने के लिए:
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "testing"} ] }'
उपयोगकर्ता के तौर पर एपीआई देखना
उपयोगकर्ता के तौर पर काम करें और एपीआई सेवाओं से अनुरोध करें. उपयोगकर्ता, एपीआई के साथ-साथ उनका कॉन्टेंट भी देख पाएगा.$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis
$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/policies
testing रोल में मौजूद उपयोगकर्ता के तौर पर एपीआई बनाना
उपयोगकर्ता के तौर पर काम करें और एपीआई प्रॉक्सी बनाने के लिए, एपीआई सेवाओं से अनुरोध करें. एपीआई सेवाओं से अनुरोध अस्वीकार कर दिया जाएगा. ऐसा इसलिए, क्योंकि 'testing' रोल में मौजूद उपयोगकर्ता के पास एपीआई बनाने की अनुमति नहीं होती .
$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'
डेवलपमेंट रोल में उपयोगकर्ता जोड़ना
अब उपयोगकर्ता को 'development' रोल असाइन करें.
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "development"} ] }'
डेवलपमेंट रोल में मौजूद उपयोगकर्ता के तौर पर एपीआई बनाना
उपयोगकर्ता के तौर पर काम करें और एपीआई प्रॉक्सी बनाने के लिए, एपीआई प्लैटफ़ॉर्म से अनुरोध दोहराएं. अनुरोध स्वीकार कर लिया जाएगा. ऐसा इसलिए, क्योंकि 'development' रोल में मौजूद उपयोगकर्ता के पास एपीआई बनाने की अनुमति होती है.
$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'
किसी उपयोगकर्ता के लिए रोल देखना
संगठन के एडमिन के तौर पर, आपके पास किसी भी समय, किसी उपयोगकर्ता के लिए रोल की सूची देखने का विकल्प होता है. यह सूची सभी संगठनों के लिए होती है:
$ curl -u email:password -X GET https://api.enterprise.apigee.com/v1/users/justauser@apigee.com/userroles