আইডেন্টিটি অ্যান্ড অ্যাক্সেস ম্যানেজমেন্ট (IAM) আপনাকে নির্দিষ্ট ফায়ারবেস এবং গুগল রিসোর্সগুলিতে সুনির্দিষ্ট অ্যাক্সেস দেওয়ার সুযোগ দেয় এবং অন্যান্য রিসোর্সগুলিতে অনাকাঙ্ক্ষিত অ্যাক্সেস প্রতিরোধ করে। IAM আপনাকে 'লিস্ট প্রিভিলেজ' বা 'সর্বনিম্ন বিশেষাধিকার'-এর নিরাপত্তা নীতি অবলম্বন করতে দেয়, যার ফলে আপনি আপনার রিসোর্সগুলিতে কেবল প্রয়োজনীয় অ্যাক্সেসই প্রদান করেন।
IAM সম্পর্কে বিস্তারিত বিবরণের জন্য, Google Cloud IAM ডকুমেন্টেশন পড়ুন।
ফায়ারবেস আইএএম-এর সংক্ষিপ্ত বিবরণ
ফায়ারবেস অতিরিক্ত IAM বিকল্প প্রদান করে যা ফায়ারবেস প্রজেক্ট এবং আপনার প্রজেক্ট সদস্যদের জন্য নির্দিষ্ট।
যখন কোনো প্রমাণীকৃত প্রজেক্ট সদস্য Firebase-এ কোনো কাজের জন্য অনুরোধ করেন, তখন IAM একটি অনুমোদনমূলক সিদ্ধান্ত নেয় যে রিসোর্সটির উপর অনুরোধকৃত কাজটি করার অনুমতি প্রজেক্ট সদস্যের আছে কি না। প্রজেক্ট সদস্য অনুরোধটি সম্পাদন করতে পারবেন কি না, তা নির্ভর করে তার নির্ধারিত ভূমিকার (role) উপর। প্রতিটি ভূমিকা হলো কয়েকটি অনুমতির সমষ্টি, এবং যখন আপনি কোনো প্রজেক্ট সদস্যকে একটি ভূমিকা নির্ধারণ করে দেন, তখন আপনি সেই সদস্যকে সেই ভূমিকার জন্য সমস্ত অনুমতি প্রদান করেন।
প্রকল্পের সদস্যরা
Firebase IAM ব্যবহার করে, আপনি আপনার প্রোজেক্টের সদস্যদের ভূমিকা (এবং সেগুলোর অন্তর্নিহিত অনুমতি) নির্ধারণ করে দেন। প্রোজেক্টের সদস্যরা নিম্নলিখিত প্রকারের হতে পারেন:
- গুগল অ্যাকাউন্ট
- পরিষেবা অ্যাকাউন্ট
- গুগল গ্রুপ
ভূমিকা
আপনার প্রোজেক্টের সদস্যদের রোলের মাধ্যমে অনুমতি দেওয়া হয়। রোল হলো একাধিক অনুমতির সমষ্টি। যখন আপনি কোনো প্রোজেক্ট সদস্যকে একটি রোল প্রদান করেন, তখন আপনি সেই রোলের অন্তর্ভুক্ত সমস্ত অনুমতি তাকে দিয়ে দেন।
Firebase IAM নিম্নলিখিত ধরনের রোল সমর্থন করে:
মৌলিক ভূমিকা : মৌলিক মালিক , সম্পাদক এবং দর্শক ভূমিকা (পূর্বে 'আদিম' ভূমিকা বলা হত)।
পূর্বনির্ধারিত রোল : ফায়ারবেস-এর জন্য বিশেষভাবে নির্বাচিত রোল, যা সাধারণ রোলের চেয়ে আরও সূক্ষ্ম অ্যাক্সেস নিয়ন্ত্রণ সক্ষম করে। ফায়ারবেস যা অফার করে:
ফায়ারবেস-স্তরের রোল : যে রোলগুলো সমস্ত ফায়ারবেস প্রোডাক্টে সম্পূর্ণ রিড/রাইট অথবা শুধুমাত্র-পঠন অ্যাক্সেস প্রদান করে।
পণ্য-বিভাগভিত্তিক ভূমিকা : যে ভূমিকাগুলো পণ্যের গোষ্ঠীগুলিতে সম্পূর্ণ পঠন/লিখন অথবা শুধুমাত্র পঠনযোগ্য অ্যাক্সেস প্রদান করে। এগুলি Google Analytics এবং সাধারণ পণ্য বিভাগগুলিকে কেন্দ্র করে গঠিত।
প্রোডাক্ট-স্তরের রোল : যে রোলগুলো নির্দিষ্ট Firebase প্রোডাক্টে সম্পূর্ণ রিড/রাইট অথবা শুধুমাত্র রিড-অনলি অ্যাক্সেস প্রদান করে।
কাস্টম রোল : সম্পূর্ণ কাস্টমাইজড রোল যা আপনি আপনার প্রতিষ্ঠানের নির্দিষ্ট প্রয়োজনীয়তা পূরণের জন্য একগুচ্ছ অনুমতি তৈরি করতে ব্যবহার করেন।
প্রকল্পের সদস্যদের এবং তাদের ভূমিকা পরিচালনা করুন
প্রকল্পের সদস্য এবং তাদের ভূমিকা দেখুন
আপনি Firebase কনসোলের > প্রজেক্ট সেটিংস -এর ইউজার্স অ্যান্ড পারমিশনস ট্যাবে আপনার প্রজেক্টের অনেক সদস্য এবং তাদের ভূমিকা দেখতে পারেন। নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:- Firebase কনসোলে শুধুমাত্র সেইসব প্রোজেক্ট সদস্যদের তালিকা দেখানো হয়, যাদেরকে একটি বেসিক রোল (ওনার, এডিটর, ভিউয়ার) অথবা ফায়ারবেসের পূর্বনির্ধারিত কোনো রোল দেওয়া হয়েছে। এই ট্যাবে তালিকাভুক্ত প্রোজেক্ট সদস্যরাই একমাত্র সদস্য, যাদের Firebase কনসোলে ফায়ারবেস প্রোজেক্টটিতে অ্যাক্সেস রয়েছে।
- Firebase কনসোলে সার্ভিস অ্যাকাউন্ট থাকা প্রজেক্ট সদস্যদের তালিকাভুক্ত করা হয় না। এই প্রজেক্ট সদস্যদের Google Cloud কনসোলের IAM পৃষ্ঠায় দেখুন।
প্রকল্পের একজন সদস্যকে একটি ভূমিকা অর্পণ করুন
প্রতিটি প্রজেক্ট সদস্যকে বরাদ্দ করা ভূমিকা(গুলি) পরিচালনা করতে, আপনাকে অবশ্যই Firebase প্রজেক্টের মালিক হতে হবে (অথবা resourcemanager.projects.setIamPolicy অনুমতিসহ একটি ভূমিকা বরাদ্দ থাকতে হবে)।
এখানে সেই জায়গাগুলো দেওয়া হলো যেখানে আপনি ভূমিকা নির্ধারণ ও পরিচালনা করতে পারবেন:
- Firebase কনসোলের > প্রজেক্ট সেটিংস -এর ইউজার্স অ্যান্ড পারমিশনস ট্যাবে প্রজেক্ট সদস্যদের রোল নির্ধারণ করার একটি সহজ উপায় রয়েছে। Firebase কনসোলে, আপনি যেকোনো বেসিক রোল (ওনার, এডিটর, ভিউয়ার), ফায়ারবেস অ্যাডমিন/ভিউয়ার রোল , অথবা ফায়ারবেসের আগে থেকে সংজ্ঞায়িত যেকোনো প্রোডাক্ট-ক্যাটাগরি রোল নির্ধারণ করতে পারেন।
- Google Cloud কনসোলের IAM পেজে প্রোজেক্ট সদস্যদের ভূমিকা (role) নির্ধারণ করার জন্য বিস্তৃত সরঞ্জাম রয়েছে। Cloud কনসোলে, আপনি কাস্টম ভূমিকা (custom roles) তৈরি ও পরিচালনা করতে পারেন, সেইসাথে সার্ভিস অ্যাকাউন্টগুলোকে আপনার প্রোজেক্টে অ্যাক্সেস দিতে পারেন।
উল্লেখ্য যে, Google Cloud কনসোলে প্রোজেক্টের সদস্যদের প্রিন্সিপাল বলা হয়।
যদি আপনার প্রোজেক্টের মালিক আর মালিকের দায়িত্ব পালন করতে না পারেন (উদাহরণস্বরূপ, তিনি আপনার কোম্পানি ছেড়ে চলে গেছেন) এবং আপনার প্রোজেক্টটি কোনো Google Cloud অর্গানাইজেশনের মাধ্যমে পরিচালিত না হয় (পরবর্তী অনুচ্ছেদ দেখুন), তাহলে আপনি ফায়ারবেস সাপোর্টের সাথে যোগাযোগ করে ফায়ারবেস প্রোজেক্টে অ্যাক্সেসের জন্য কীভাবে অনুরোধ করতে হয়, তা জেনে নিতে পারেন।
মনে রাখবেন যে, যদি কোনো Firebase প্রজেক্ট একটি Google Cloud অর্গানাইজেশনের অংশ হয়, তবে সেটির কোনো Owner নাও থাকতে পারে। আপনি যদি আপনার Firebase প্রজেক্টের জন্য কোনো Owner খুঁজে না পান, তাহলে প্রজেক্টটির জন্য একজন Owner নির্ধারণ করতে আপনার Google Cloud অর্গানাইজেশন পরিচালনাকারী ব্যক্তির সাথে যোগাযোগ করুন।