আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
Apigee Edge এপিআই সুরক্ষিত করার জন্য OAuth 2.0 ফ্রেমওয়ার্ক প্রদান করে। OAuth2 হলো অন্যতম জনপ্রিয় একটি ওপেন-স্ট্যান্ডার্ড, টোকেন-ভিত্তিক অথেনটিকেশন এবং অথরাইজেশন স্কিম। এটি ক্লায়েন্ট অ্যাপ্লিকেশনগুলোকে ব্যবহারকারীদের ইউজারনেম এবং পাসওয়ার্ড প্রকাশ করার প্রয়োজন ছাড়াই তাদের পক্ষ থেকে এপিআই অ্যাক্সেস করতে সক্ষম করে।
Apigee Edge ডেভেলপারদের OAuthv2 পলিসি ব্যবহার করে চারটি OAuth2 গ্রান্ট টাইপের ( ক্লায়েন্ট ক্রেডেনশিয়াল , পাসওয়ার্ড , ইমপ্লিসিট এবং অথরাইজেশন কোড) যেকোনো একটি প্রয়োগ করার মাধ্যমে অ্যাক্সেস এবং/অথবা রিফ্রেশ টোকেন তৈরি করার সুযোগ দেয়। ক্লায়েন্ট অ্যাপ্লিকেশনগুলো সুরক্ষিত এপিআই ব্যবহার করার জন্য অ্যাক্সেস টোকেন ব্যবহার করে। প্রতিটি অ্যাক্সেস টোকেনের নিজস্ব মেয়াদ শেষ হওয়ার সময় থাকে, যা OAuthv2 পলিসিতে সেট করা যেতে পারে।
কিছু নির্দিষ্ট গ্রান্ট টাইপের ক্ষেত্রে, অ্যাক্সেস টোকেনের সাথে ঐচ্ছিকভাবে রিফ্রেশ টোকেনও ইস্যু করা হয়। মূল অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেলে বা তা বাতিল হয়ে গেলে, নতুন ও বৈধ অ্যাক্সেস টোকেন পাওয়ার জন্য রিফ্রেশ টোকেন ব্যবহার করা হয়। রিফ্রেশ টোকেনের মেয়াদ শেষ হওয়ার সময় OAuthv2 পলিসিতেও নির্ধারণ করা যায়।
অ্যান্টিপ্যাটার্ন
OAuthv2 পলিসিতে অ্যাক্সেস টোকেন এবং/অথবা রিফ্রেশ টোকেনের জন্য দীর্ঘ মেয়াদ নির্ধারণ করলে ক্যাসান্ড্রা নোডগুলিতে OAuth টোকেন জমা হয় এবং ডিস্ক স্পেসের ব্যবহার বৃদ্ধি পায়।
নিম্নলিখিত OAuthV2 পলিসির উদাহরণে রিফ্রেশ টোকেনগুলির জন্য ২০০ দিনের একটি দীর্ঘ মেয়াদ দেখানো হয়েছে:
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes --> <RefreshTokenExpiresIn>17280000000</RefreshTokenExpiresIn> <!-- 200 days --> <SupportedGrantTypes> <GrantType>password</GrantType> </SupportedGrantTypes> <GenerateResponse enabled="true"/> </OAuthV2>
উপরের উদাহরণে:
- অ্যাক্সেস টোকেনটির মেয়াদ তুলনামূলকভাবে কম, মাত্র ৩০ মিনিট নির্ধারণ করা হয়েছে।
- রিফ্রেশ টোকেনটির মেয়াদ ২০০ দিন নির্ধারণ করা হয়েছে, যা বেশ দীর্ঘ।
- এই এপিআই-তে প্রতি সেকেন্ডে ১০টি রিকোয়েস্ট এলে, এটি একদিনে ৮৬৪,০০০টি পর্যন্ত টোকেন তৈরি করতে পারে।
- যেহেতু রিফ্রেশ টোকেনগুলোর মেয়াদ মাত্র ২০০ দিন পর শেষ হয়ে যায়, তাই সেগুলো ডেটা স্টোরে (ক্যাসান্ড্রা) দীর্ঘ সময় ধরে থেকে যায়, যার ফলে এগুলোর ক্রমাগত সঞ্চয় ঘটতে থাকে।
প্রভাব
- এর ফলে ডেটা স্টোরে (ক্যাসান্ড্রা) ডিস্ক স্পেসের ব্যবহার উল্লেখযোগ্যভাবে বৃদ্ধি পায়।
- প্রাইভেট ক্লাউড ব্যবহারকারীদের জন্য, এর ফলে স্টোরেজ খরচ বাড়তে পারে, অথবা সবচেয়ে খারাপ পরিস্থিতিতে, ডিস্ক পূর্ণ হয়ে যাওয়ার কারণে রানটাইম ত্রুটি বা পরিষেবা বন্ধ হয়ে যেতে পারে।
সর্বোত্তম অনুশীলন
আপনার নির্দিষ্ট নিরাপত্তা চাহিদার ওপর নির্ভর করে OAuth অ্যাক্সেস এবং রিফ্রেশ টোকেনগুলোর জন্য একটি উপযুক্ত ও কম মেয়াদ ব্যবহার করুন, যাতে সেগুলো দ্রুত মুছে যায় এবং জমা হওয়া এড়ানো যায়।
রিফ্রেশ টোকেনের মেয়াদ এমনভাবে নির্ধারণ করুন যাতে এটি অ্যাক্সেস টোকেনের চেয়ে কিছুটা বেশি সময়ের জন্য বৈধ থাকে। উদাহরণস্বরূপ, আপনি অ্যাক্সেস টোকেনের জন্য ৩০ মিনিট এবং রিফ্রেশ টোকেনের জন্য ৬০ মিনিট নির্ধারণ করতে পারেন।
এটি নিশ্চিত করে যে:
- অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে যাওয়ার পরেও, রিফ্রেশ টোকেন ব্যবহার করে নতুন অ্যাক্সেস ও রিফ্রেশ টোকেন তৈরি করার জন্য যথেষ্ট সময় থাকে।
- রিফ্রেশ টোকেনগুলোর মেয়াদ কিছুক্ষণ পরেই শেষ হয়ে যাবে এবং জমা হওয়া এড়াতে সময়মতো সেগুলো মুছে ফেলা যেতে পারে।