এই ডকুমেন্টটিতে ব্যাখ্যা করা হয়েছে কিভাবে ফ্লিট ইঞ্জিন আপনার ফ্লিট ইঞ্জিন সিস্টেমের তিনটি প্রধান পরিবেশের মধ্যে তথ্য আদান-প্রদান সুরক্ষিত করে: আপনার ব্যাকএন্ড সার্ভার, আপনার ফ্লিট ইঞ্জিন সার্ভার এবং আপনার ক্লায়েন্ট অ্যাপ্লিকেশন ও ওয়েবসাইটগুলো।
ফ্লিট ইঞ্জিন ন্যূনতম বিশেষাধিকারের নীতি ব্যবহার করে দুটি মৌলিক উপায়ে নিরাপত্তা পরিচালনা করে:
অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস (ADC) : সার্ভার থেকে সার্ভার যোগাযোগের মতো উচ্চ-সুবিধাপ্রাপ্ত পরিবেশের জন্য। এটি তখন ব্যবহৃত হয় যখন আপনার ব্যাকএন্ড সার্ভার ফ্লিট ইঞ্জিনে যানবাহন ও ট্রিপ তৈরি এবং পরিচালনা করে। বিস্তারিত জানতে, অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস দেখুন।
JSON ওয়েব টোকেন (JWT) : স্মার্টফোন এবং ব্রাউজারে চলমান ক্লায়েন্ট অ্যাপ্লিকেশনের মতো কম-বিশ্বাসের পরিবেশের জন্য ব্যবহৃত হয়। ফ্লিট ইঞ্জিনে গাড়ির অবস্থান আপডেট করার মতো কম-সুবিধাপ্রাপ্ত অপারেশন সম্পন্ন করতে এটি ব্যবহৃত হয়।
লো-ট্রাস্ট এনভায়রনমেন্টের জন্য প্রয়োজনীয় JWT-গুলো সার্ভিস অ্যাকাউন্টের সিক্রেট কী সুরক্ষিত রাখতে আপনার ব্যাকএন্ড সার্ভার দ্বারা জেনারেট ও ইস্যু করা হয় এবং এতে ফ্লিট ইঞ্জিনের জন্য নির্দিষ্ট অতিরিক্ত ক্লেইম অন্তর্ভুক্ত থাকে। বিস্তারিত জানতে JSON Web Tokens দেখুন।
উদাহরণস্বরূপ, আপনার যদি একটি ড্রাইভার অ্যাপ থাকে, তাহলে ড্রাইভাররা সেই অ্যাপের মাধ্যমে ফ্লিট ইঞ্জিন থেকে ডেটা অ্যাক্সেস করে। আপনার ব্যাকএন্ড সার্ভার থেকে পাওয়া JWT ব্যবহার করে অ্যাপটির প্রমাণীকরণ করা হয়। অন্তর্ভুক্ত JWT ক্লেইমগুলো, সার্ভিস অ্যাকাউন্ট রোলের সাথে মিলে, নির্ধারণ করে যে ড্রাইভার অ্যাপটি আপনার সিস্টেমের কোন কোন অংশে অ্যাক্সেস পাবে এবং কী করতে পারবে। এই পদ্ধতিটি শুধুমাত্র তাদের ড্রাইভিং অ্যাসাইনমেন্ট সম্পন্ন করার জন্য প্রয়োজনীয় ডেটার মধ্যেই অ্যাক্সেস সীমাবদ্ধ রাখে।
ফ্লিট ইঞ্জিন নিম্নলিখিত সুরক্ষা পদ্ধতিগুলো ব্যবহার করে:
প্রমাণীকরণ অনুরোধকারী সত্তার পরিচয় যাচাই করে। ফ্লিট ইঞ্জিন উচ্চ-বিশ্বাসযোগ্য পরিবেশের জন্য ADC এবং নিম্ন-বিশ্বাসযোগ্য পরিবেশের জন্য JWT ব্যবহার করে।
অনুমোদন নির্দিষ্ট করে যে একজন প্রমাণীকৃত সত্তা কোন কোন রিসোর্স অ্যাক্সেস করতে পারবে। ফ্লিট ইঞ্জিন গুগল ক্লাউড আইএএম রোল সহ সার্ভিস অ্যাকাউন্ট এবং জেডব্লিউটি ক্লেইম ব্যবহার করে, যা নিশ্চিত করে যে প্রমাণীকৃত সত্তাগুলোর অনুরোধ করা ডেটা দেখা বা পরিবর্তন করার অনুমতি রয়েছে।
সার্ভার এবং ক্লায়েন্ট নিরাপত্তা সেটআপ
ফ্লিট ইঞ্জিনের মাধ্যমে নিরাপত্তা সক্রিয় করতে, আপনার ব্যাকএন্ড সার্ভারে এবং আপনার ক্লায়েন্ট অ্যাপ্লিকেশন ও ওয়েবসাইটগুলিতে প্রয়োজনীয় অ্যাকাউন্ট এবং নিরাপত্তা ব্যবস্থা সেট আপ করুন।
নিম্নলিখিত ডায়াগ্রামটিতে আপনার ব্যাকএন্ড সার্ভার এবং ক্লায়েন্ট অ্যাপ্লিকেশনগুলিতে নিরাপত্তা সেট আপ করার ধাপগুলির একটি সংক্ষিপ্ত বিবরণ দেখানো হয়েছে।

আরও বিস্তারিত জানতে নিচের অংশগুলি দেখুন।
ব্যাকএন্ড সার্ভার নিরাপত্তা সেটআপ
একজন ফ্লিট প্রশাসককে এই ধাপগুলো অনুসরণ করতে হবে:
সার্ভিস অ্যাকাউন্ট তৈরি ও কনফিগার করুন :
গুগল ক্লাউড কনসোলে সার্ভিস অ্যাকাউন্ট তৈরি করুন।
সার্ভিস অ্যাকাউন্টগুলোতে নির্দিষ্ট IAM রোল বরাদ্দ করুন।
তৈরি করা সার্ভিস অ্যাকাউন্টগুলো দিয়ে আপনার ব্যাকএন্ড সার্ভার কনফিগার করুন। বিস্তারিত জানতে, সার্ভিস অ্যাকাউন্টের ভূমিকা (Service account roles) দেখুন।
ফ্লিট ইঞ্জিন (ADC)-এর সাথে সুরক্ষিত যোগাযোগ কনফিগার করুন : উপযুক্ত *অ্যাডমিন সার্ভিস অ্যাকাউন্ট সহ অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল ব্যবহার করে আপনার ফ্লিট ইঞ্জিন ইনস্ট্যান্সের সাথে যোগাযোগ করার জন্য আপনার ব্যাকএন্ড কনফিগার করুন। বিস্তারিত জানার জন্য, অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল দেখুন।
ক্লায়েন্ট অ্যাপের সাথে সুরক্ষিত যোগাযোগ কনফিগার করুন (JWT) : ক্লায়েন্ট অ্যাপ্লিকেশন এবং মনিটরিং ওয়েবসাইটের জন্য উপযুক্ত ক্লেইমসহ JWT তৈরি করতে একটি JSON ওয়েব টোকেন জেনারেটর তৈরি করুন। বিস্তারিত জানতে, "JSON ওয়েব টোকেন ইস্যু করুন" দেখুন।
অ্যাপ্লিকেশন নিরাপত্তা সেটআপ
অ্যাপ্লিকেশন ডেভেলপারদের তাদের ক্লায়েন্ট অ্যাপ বা ওয়েবসাইটে ব্যাকএন্ড সার্ভার দ্বারা জেনারেট করা JSON ওয়েব টোকেনগুলো ফেচ করার একটি উপায় অন্তর্ভুক্ত করতে হবে এবং ফ্লিট ইঞ্জিনের সাথে নিরাপদে যোগাযোগের জন্য সেগুলো ব্যবহার করতে হবে। বিস্তারিত জানতে, আপনার প্রয়োজনীয় অ্যাপ্লিকেশনগুলোর জন্য ড্রাইভার এক্সপেরিয়েন্স বা কনজিউমার এক্সপেরিয়েন্স ডকুমেন্টেশনে থাকা সেটআপ নির্দেশাবলী দেখুন।
সার্ভার এবং ক্লায়েন্ট অ্যাপের নিরাপত্তা প্রবাহ
নিম্নলিখিত সিকোয়েন্স ডায়াগ্রামটি ফ্লিট ইঞ্জিনের মাধ্যমে সার্ভার এবং ক্লায়েন্ট অ্যাপের অথেনটিকেশন ও অথরাইজেশন ফ্লো প্রদর্শন করে, যেখানে ব্যাকএন্ড সার্ভারের জন্য ADC এবং ক্লায়েন্ট অ্যাপ্লিকেশন ও ওয়েবসাইটগুলোর জন্য JWT ব্যবহার করা হয়েছে।

আপনার ব্যাকএন্ড সার্ভার ফ্লিট ইঞ্জিনে যানবাহন এবং ট্রিপ বা টাস্ক তৈরি করে ।
আপনার ব্যাকএন্ড সার্ভার একটি যানবাহনকে একটি ট্রিপ বা টাস্ক পাঠায়: ড্রাইভার অ্যাপটি সক্রিয় থাকলে, অ্যাসাইনমেন্টটি গ্রহণ করে।
আপনার ব্যাকএন্ড সার্ভার : নির্ধারিত টাস্ক বা ট্রিপের জন্য উপযুক্ত IAM রোলসহ সংশ্লিষ্ট সার্ভিস অ্যাকাউন্টের পক্ষে একটি JWT স্বাক্ষর ও ইস্যু করে।
ক্লায়েন্ট অ্যাপ : ক্লায়েন্ট অ্যাপটি প্রাপ্ত JWT ব্যবহার করে ফ্লিট ইঞ্জিনে গাড়ির অবস্থানের আপডেট পাঠায়।
এরপর কী?
- আপনার ফ্লিট ইঞ্জিন প্রকল্পটি তৈরি করুন।
- আপনার সার্ভার থেকে কীভাবে JSON ওয়েব টোকেন ইস্যু করতে হয় তা জানুন।
- সার্ভিস অ্যাকাউন্টের ভূমিকা সম্পর্কে আরও জানুন।
- JWT সম্পর্কে আরও জানুন।