API এর সাথে ভূমিকা তৈরি করা

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

এই বিষয়ে আলোচনা করা হয়েছে কিভাবে কাস্টম রোল তৈরি করা যায় এবং ম্যানেজমেন্ট API এর মাধ্যমে ব্যবহারকারীদের ভূমিকা বরাদ্দ করা যায়। এপিআই-এর মাধ্যমে কীভাবে রোল অ্যাসাইনমেন্ট পরীক্ষা করা যায় তাও আমরা দেখাই। (কাস্টম ভূমিকাগুলির একটি সংক্ষিপ্ত বিবরণের জন্য, UI এ কাস্টম ভূমিকা তৈরি করা দেখুন।)

অনুমতি সেটিং সম্পর্কে

ভূমিকার অনুমতিগুলি ব্যবস্থাপনা API URI তে সেট করা হয় (ব্যবস্থাপনা UI URI নয়)। উদাহরণস্বরূপ, আপনি যদি আপনার এজ সংস্থার অ্যাপ বিকাশকারী সংস্থাগুলিতে PUT, GET এবং/অথবা ডিলিট অনুমতিগুলি সেট করতে চান তবে আপনি /developers রিসোর্সে অনুমতিগুলি সেট করবেন, কারণ বিকাশকারীদের জন্য পরিচালনা API পাথ হল https://api.enterprise.apigee.com/v1/organizations/{org_name} /developers (অনুমতি সংজ্ঞায়িত করার সময় আপনাকে পাথের সংগঠন অংশ অন্তর্ভুক্ত করতে হবে না, কারণ অনুমতিগুলি একটি নির্দিষ্ট সংস্থার জন্য স্কোপ করা হয়, যেমন এই বিষয়ে ম্যানেজমেন্ট API কলগুলি ব্যাখ্যা করে৷)

আপনি নির্দিষ্ট সত্তার অনুমতিও সেট করতে পারেন। যেমন:

  • আপনি যদি একটি একক বিকাশকারীর জন্য অনুমতি সেট করতে চান তবে সেগুলিকে /developers/steve@example.com এ সেট করুন
  • একটি নির্দিষ্ট API পণ্যের জন্য, যেমন free-api-product, সেগুলিকে /apiproducts/free-api-product এ সেট করুন
  • একটি নির্দিষ্ট পরিবেশে একটি মূল মান মানচিত্রের জন্য, আপনি পরীক্ষার পরিবেশে সমস্ত মূল মান মানচিত্রের জন্য /environments/test/keyvaluemaps/fooMap , অথবা /environments/test/keyvaluemaps/* এর মত কিছুতে অনুমতি সেট করবেন।

API ব্যবহার করে আপনি যে অনুমতিগুলি সেট করেছেন:

  • একটি কাস্টম ভূমিকায় ব্যবহারকারীদের তাদের অনুমতি অনুযায়ী ব্যবস্থাপনা API কল করার অনুমতি দিন। উদাহরণস্বরূপ, যদি একটি ভূমিকা সমস্ত API প্রক্সিতে শুধুমাত্র-পঠন অ্যাক্সেসের অনুমতি দেয়, সেই ভূমিকার একজন ব্যবহারকারী তালিকা API প্রক্সি API ব্যবহার করতে পারে কিন্তু একটি API প্রক্সি API তৈরি করতে পারে না।
  • একটি কাস্টম ভূমিকার ব্যবহারকারীরা ব্যবস্থাপনা UI এ কী দেখতে এবং করতে পারে তা নির্ধারণ করুন৷ উদাহরণ স্বরূপ, API প্রক্সিগুলিতে শুধুমাত্র-পঠন অ্যাক্সেস +API প্রক্সিতে অ্যাক্সেস অক্ষম করে এবং API প্রক্সি পৃষ্ঠায় বোতামগুলি মুছুন।

আপনি অনুমতি সেট করতে পারেন এমন সংস্থান এবং পাথগুলি দেখতে, বিভিন্ন সংস্থান URL-এ ব্যবস্থাপনা API রেফারেন্স দেখুন৷

ভূমিকা পরিচালনার সম্পূর্ণ রেফারেন্স তথ্যের জন্য ব্যবহারকারীর ভূমিকা API দেখুন।

সিনট্যাক্স এবং অগ্রাধিকার

আপনি একটি অনুমতি সেটিংসে "এর পরে সবকিছু" নির্দেশ করতে তারকাচিহ্ন ওয়াইল্ড কার্ড (*) ব্যবহার করতে পারেন। যাইহোক, আপনি যদি কোনো নির্দিষ্ট অনুমতি (যেমন /developers/*) সেট না করে শুধুমাত্র একটি অভিভাবক সম্পদের (যেমন /developers-এ) অনুমতি সেট করেন, তাহলে অনুমতি /developers এবং তার পরের সবকিছুর জন্য প্রযোজ্য হবে।

PUT অনুমতিতে POST হিসাবেও কাজ করে।

আপনি সম্পদগুলিতে আরও দানাদার অনুমতি সহ সাধারণ মিশ্রিত করতে পারেন। অধিকতর দানাদার সেটিংস অগ্রাধিকার নেয় যেখানে একটি অনুমতি ওভারল্যাপ থাকে। উদাহরণস্বরূপ, অনুমান করুন নিম্নলিখিত অনুমতিগুলি একটি "বিকাশকারী অ্যাডমিন" ভূমিকাতে সেট করা হয়েছে:

  • /ডেভেলপারদের উপর রাখুন
  • /developers/* এ যান

এর মানে ডেভেলপার অ্যাডমিন পারেন:

  • একটি বিকাশকারী তৈরি করুন, তবে কোনও নির্দিষ্ট বিকাশকারী বা কোনও উপ-সত্তা আপডেট করবেন না (কারণ সেই পথে আরও নির্দিষ্ট GET অনুমতির কারণে)।
  • কোনো ডেভেলপার বা উপ-সত্তা পান, কিন্তু সব ডেভেলপারের তালিকা পাবেন না।

আপনি API দিয়ে সেট করতে পারেন এমন অনুমতির সম্পূর্ণ তালিকার জন্য অনুমতির রেফারেন্স দেখুন।

"উন্নয়ন" নামে একটি নতুন কাস্টম ভূমিকা তৈরি করুন

API প্রক্সিগুলি দেখতে, তৈরি করতে এবং আপডেট করতে বিকাশকারীদের সক্ষম করতে একটি 'উন্নয়ন' ভূমিকা তৈরি করুন৷

$ 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" } ] }'

উন্নয়ন ভূমিকার অনুমতি যোগ করুন

এজ আর্টিফ্যাক্টের সম্পূর্ণ গ্রুপে (যেমন সমস্ত /অ্যাপস, /এপিস, /এপিপ্রোডাক্টস ইত্যাদি) পাশাপাশি স্বতন্ত্র আর্টিফ্যাক্টগুলিতে (যেমন একটি নির্দিষ্ট অ্যাপ, API প্রক্সি, বা API পণ্য) অনুমতিগুলি সেট করা যেতে পারে। GET, PUT, এবং DELETE হল৷

GET ব্যবহারকারীদের API প্রক্সি কনফিগারেশন ফাইল, সংশ্লিষ্ট নীতি, JavaScript, XSLT ফাইল এবং আরও অনেক কিছু সহ যেকোনো API দেখতে সক্ষম করে। API-তে PUT অনুমতি ডেভেলপারদের API প্রক্সি তৈরি, সংশোধন, আমদানি, রপ্তানি, স্থাপন এবং আনডিপ্লোয় করতে সক্ষম করে।

পাথ অ্যাট্রিবিউটটি সেই আর্টিফ্যাক্টটি নির্দিষ্ট করে যার উপর আপনি অনুমতি সেট করেছেন। উদাহরণস্বরূপ, /অ্যাপ্লিকেশন, /অ্যাপস, /এপিপ্রোডাক্টস, /ডেভেলপারস, বা /রিপোর্ট।

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" ]}'

একটি ভূমিকা তৈরি করুন: পরীক্ষা

গুণমানের ইঞ্জিনিয়ারদের API প্রক্সি এবং তাদের বিষয়বস্তু (উদাহরণস্বরূপ, নীতি সহ) দেখতে সক্ষম করতে একটি 'পরীক্ষা' ভূমিকা তৈরি করুন।

$ 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" } ] }'

পরীক্ষার ভূমিকায় অনুমতি যোগ করুন

GET ব্যবহারকারীদের তাদের কনফিগারেশন ফাইল, সেইসাথে সংশ্লিষ্ট নীতি, JavaScript, XSLT ফাইল ইত্যাদি সহ যেকোনো API দেখতে সক্ষম করে। 'পরীক্ষা' ভূমিকাতে এই অনুমতি যোগ করার মাধ্যমে, আমরা গুণমান প্রকৌশলীদেরকে তারা পরীক্ষা করা API-এর বিষয়বস্তু দেখতে সক্ষম করি। এই ভূমিকার ব্যবহারকারীরা, তবে, API প্রক্সিগুলি তৈরি, সংশোধন, আমদানি, রপ্তানি, স্থাপন এবং আনডিপ্লয় করতে সক্ষম হবে না।

$ 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" ]}'

এজ-এর একটি অন-প্রিমিসেস ইনস্টলেশনের জন্য, ব্যবহারকারীকে এজ UI-তে লগ ইন করার অনুমতি দেওয়ার জন্য ন্যূনতম যে অনুমতিগুলি সেট করতে হবে তা হল:

{"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> হল এজ ম্যানেজমেন্ট সার্ভারের IP ঠিকানা বা DNS নাম।

পরীক্ষার ভূমিকায় ব্যবহারকারীকে যুক্ত করুন

ব্যবহারকারীর ভূমিকা সহ একজন ব্যবহারকারীর ব্যবস্থা করতে:

$ 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"} ] }'

ব্যবহারকারী হিসাবে API দেখুন

ব্যবহারকারীর ছদ্মবেশ ধারণ করুন এবং API প্রক্সিগুলি দেখার জন্য API পরিষেবাগুলিতে একটি অনুরোধ করুন৷ ব্যবহারকারী তাদের বিষয়বস্তু সহ API দেখতে সক্ষম হওয়া উচিত।
$ 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

পরীক্ষার ভূমিকায় ব্যবহারকারী হিসাবে API তৈরি করুন

ব্যবহারকারীর ছদ্মবেশ ধারণ করুন এবং একটি API প্রক্সি তৈরি করার জন্য API পরিষেবাগুলির কাছে একটি অনুরোধ করুন৷ অনুরোধটি API পরিষেবাগুলি প্রত্যাখ্যান করবে, কারণ ভূমিকা 'পরীক্ষা' ব্যবহারকারীকে API তৈরি করার অনুমতি দেয় না।

$ 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 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"} ] }'

বিকাশ ভূমিকায় ব্যবহারকারী হিসাবে API তৈরি করুন

ব্যবহারকারীর ছদ্মবেশ ধারণ করুন এবং একটি API প্রক্সি তৈরি করার জন্য API প্ল্যাটফর্মে অনুরোধটি পুনরাবৃত্তি করুন৷ অনুরোধটি সফল হবে, কারণ ভূমিকা 'উন্নয়ন' ব্যবহারকারীকে API তৈরি করার অনুমতি দেয়।

$ 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