Edge API-এর সাথে যখন কোনো এক্সটার্নাল IDP ব্যবহার করা হয়, তখন IDP ইন্টারঅ্যাকশন থেকে OAuth2 অ্যাক্সেস এবং রিফ্রেশ টোকেন পাওয়ার জন্য যে প্রক্রিয়াটি ব্যবহার করা হয়, তাকে পাসকোড ফ্লো বলা হয়। পাসকোড ফ্লো-এর মাধ্যমে, আপনি একটি ব্রাউজার ব্যবহার করে একটি ওয়ান-টাইম পাসকোড পান, যা পরবর্তীতে OAuth2 টোকেন পাওয়ার জন্য ব্যবহার করা হয়।
তবে, আপনার ডেভেলপমেন্ট এনভায়রনমেন্টে টেস্ট অটোমেশন বা CI/CD-এর মতো সাধারণ ডেভেলপমেন্ট টাস্কগুলোর জন্য অটোমেশন সাপোর্ট থাকতে পারে। যখন একটি এক্সটার্নাল IDP চালু থাকে, তখন এই টাস্কগুলো অটোমেট করার জন্য আপনার এমন একটি উপায় প্রয়োজন, যার মাধ্যমে ব্রাউজার থেকে পাসকোড কপি/পেস্ট না করেই OAuth2 টোকেন সংগ্রহ ও রিফ্রেশ করা যায়।
যেসব প্রতিষ্ঠানে IDP সক্রিয় আছে, Edge সেগুলোর মেশিন ব্যবহারকারীদের মাধ্যমে স্বয়ংক্রিয়ভাবে টোকেন তৈরি করতে পারে। একজন মেশিন ব্যবহারকারী কোনো পাসকোড উল্লেখ না করেই OAuth2 টোকেন পেতে পারেন। এর মানে হলো, আপনি Edge ম্যানেজমেন্ট API ব্যবহার করে OAuth2 টোকেন সংগ্রহ এবং রিফ্রেশ করার প্রক্রিয়াটি সম্পূর্ণরূপে স্বয়ংক্রিয় করতে পারেন।
একটি IDP-সক্ষম সংস্থার জন্য মেশিন ব্যবহারকারী তৈরি করার দুটি উপায় রয়েছে:
এই পদ্ধতিগুলোর প্রত্যেকটি পরবর্তী অধ্যায়গুলোতে বর্ণনা করা হয়েছে।
যেসব প্রতিষ্ঠানে এক্সটার্নাল আইডিপি সক্রিয় করা নেই, তাদের জন্য আপনি মেশিন ইউজার তৈরি করতে পারবেন না।
apigee-ssoadminapi.sh ব্যবহার করে একটি মেশিন ব্যবহারকারী তৈরি করুন।
একটি IDP-সক্ষম অর্গানাইজেশনের মধ্যে মেশিন ইউজার তৈরি করতে apigee-ssoadminapi.sh ইউটিলিটিটি ব্যবহার করুন। আরও তথ্যের জন্য “Using apigee-ssoadminapi.sh” দেখুন। আপনি এমন একটি একক মেশিন ইউজার তৈরি করতে পারেন যা আপনার সমস্ত অর্গানাইজেশন ব্যবহার করবে, অথবা প্রতিটি অর্গানাইজেশনের জন্য একটি পৃথক মেশিন ইউজার তৈরি করতে পারেন।
মেশিন ইউজারটি আপনার IDP-তে নয়, বরং Edge ডেটাস্টোরে তৈরি ও সংরক্ষিত হয়। সুতরাং, Edge UI এবং Edge ম্যানেজমেন্ট API ব্যবহার করে মেশিন ইউজারটিকে রক্ষণাবেক্ষণ করার দায়িত্ব আপনার নয়।
মেশিন ইউজার তৈরি করার সময় আপনাকে অবশ্যই একটি ইমেল অ্যাড্রেস এবং পাসওয়ার্ড উল্লেখ করতে হবে। মেশিন ইউজার তৈরি করার পর, আপনি তাকে এক বা একাধিক অর্গানাইজেশনের সাথে যুক্ত করেন।
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 হলো অ্যাডমিন ইউজারনেম, যা Apigee SSO মডিউল কনফিগার করতে ব্যবহৃত কনফিগারেশন ফাইলের
SSO_ADMIN_NAMEপ্রপার্টি দ্বারা নির্ধারিত হয়। এর ডিফল্ট মান হলোssoadmin। - SSO_ADMIN_SECRET হলো অ্যাডমিন পাসওয়ার্ড, যা কনফিগ ফাইলের
SSO_ADMIN_SECRETপ্রপার্টিতে নির্দিষ্ট করা থাকে।এই উদাহরণে, আপনি
--portএবং--sslএর মানগুলো বাদ দিতে পারেন, কারণapigee-ssoমডিউলটি--portএর জন্য 9099 এবং--sslএর জন্য http-এর ডিফল্ট মান ব্যবহার করে। যদি আপনার ইনস্টলেশন এই ডিফল্টগুলো ব্যবহার না করে, তবে প্রয়োজন অনুযায়ী সেগুলো উল্লেখ করুন।
- SSO_ADMIN_NAME হলো অ্যাডমিন ইউজারনেম, যা Apigee SSO মডিউল কনফিগার করতে ব্যবহৃত কনফিগারেশন ফাইলের
- Edge UI-তে লগ ইন করুন এবং মেশিন ব্যবহারকারীর ইমেলটি আপনার সংস্থাগুলিতে যুক্ত করুন, এবং মেশিন ব্যবহারকারীকে প্রয়োজনীয় ভূমিকাটি অর্পণ করুন। আরও তথ্যের জন্য ‘গ্লোবাল ব্যবহারকারী যুক্ত করা’ দেখুন।
Edge ম্যানেজমেন্ট API ব্যবহার করে একটি মেশিন ব্যবহারকারী তৈরি করুন
আপনি apigee-ssoadminapi.sh ইউটিলিটি ব্যবহার না করে, Edge ম্যানেজমেন্ট API ব্যবহার করে একটি মেশিন ইউজার তৈরি করতে পারেন।
ম্যানেজমেন্ট এপিআই ব্যবহার করে একটি মেশিন ব্যবহারকারী তৈরি করতে :
-
apigee-ssoএর অ্যাডমিন অ্যাকাউন্টের ইউজারনেম, অর্থাৎssoadminব্যবহারকারীর জন্য একটি টোকেন পেতে নিম্নলিখিতcurlকমান্ডটি ব্যবহার করুন: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 UI-তে লগ ইন করুন।
- আপনার সংস্থাগুলিতে মেশিন ব্যবহারকারীর ইমেল যোগ করুন এবং মেশিন ব্যবহারকারীকে প্রয়োজনীয় ভূমিকা অর্পণ করুন। আরও তথ্যের জন্য ‘গ্লোবাল ব্যবহারকারী যোগ করা’ দেখুন।
মেশিন ব্যবহারকারীর টোকেন সংগ্রহ ও রিফ্রেশ করুন
পাসকোডের পরিবর্তে মেশিন ব্যবহারকারীর ক্রেডেনশিয়াল প্রদান করে Edge API ব্যবহার করে OAuth2 টোকেন সংগ্রহ ও রিফ্রেশ করুন।
মেশিন ব্যবহারকারীর জন্য OAuth2 টোকেন পেতে:
- প্রাথমিক অ্যাক্সেস এবং রিফ্রেশ টোকেন তৈরি করতে নিম্নলিখিত API কলটি ব্যবহার করুন:
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'
পরবর্তী ব্যবহারের জন্য টোকেনগুলো সংরক্ষণ করুন।
- নিম্নলিখিত উদাহরণে যেমন দেখানো হয়েছে, অ্যাক্সেস টোকেনটিকে
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'