Firebase Security Rules
Cloud Firestore, Firebase Realtime Database এবং Cloud Storage-এ আপনার ডেটা সুরক্ষিত করতে আমাদের নমনীয়, এক্সটেনসিবল Firebase নিরাপত্তা নিয়ম ব্যবহার করুন।
Firebase Security Rules আপনার ডেটা ও ক্ষতিকর ব্যবহারকারীদের মধ্যে বাধা হয়ে দাঁড়ায়। আপনার নির্দিষ্ট অ্যাপের জন্য যে লেভেলের গ্র্যানুলারিটি প্রয়োজন, সেই লেভেলে অ্যাপের ডেটা সুরক্ষিত রাখতে আপনি সহজ বা জটিল নিয়ম লিখতে পারেন।
Firebase Security Rules Realtime Database, Cloud Firestore এবং Cloud Storage-এর জন্য আপনার ব্যবহারকারীরা কোন ডেটা অ্যাক্সেস করতে পারবেন তা নির্ধারণ করতে এক্সটেনসিবল, নমনীয় কনফিগারেশন ভাষা ব্যবহার করে। Firebase Realtime Database Security Rules নিয়মের সংজ্ঞায় JSON ব্যবহার করে, যেখানে Cloud Firestore Security Rules এবং Firebase Security Rules-এর জন্য Cloud Storage একটি অনন্য ভাষা ব্যবহার করে যা আরও জটিল নিয়ম-নির্দিষ্ট কাঠামোকে মানিয়ে নেওয়ার জন্য তৈরি করা হয়েছে।
আপনার অ্যাপে ব্যবহার করা নির্দিষ্ট Firebase প্রোডাক্টের জন্য Security Rules কীভাবে সেট-আপ করবেন এবং Firebase প্রোডাক্ট জুড়ে Security Rules আচরণ কীভাবে আলাদা হয় সেই সম্পর্কে আরও জানুন।
গুরুত্বপূর্ণ ক্ষমতা
| ফ্লেক্সিবিলিটি | আপনার অ্যাপের স্ট্রাকচার ও আচরণের জন্য উপযুক্ত কাস্টম নিয়ম লিখুন। Security Rules এমন ভাষা ব্যবহার করুন যা আপনাকে অ্যাক্সেস অনুমোদন করার জন্য আপনার নিজস্ব ডেটা ব্যবহার করার অনুমতি দেয়। |
| গ্র্যানুলারিটি | আপনার প্রয়োজনীয়তা অনুযায়ী, আপনার নিয়ম যত খুশি বিস্তারিত বা সংক্ষিপ্ত হতে পারে। |
| স্বতন্ত্র নিরাপত্তা | Security Rules আপনার অ্যাপের বাইরে (Firebase কনসোল বা Firebase CLI-তে) সংজ্ঞায়িত করা হয়, তাই ক্লায়েন্টরা নিরাপত্তা প্রয়োগ করার জন্য দায়ী নয়, বাগ ডেটা আপস করে না এবং আপনার ডেটা সর্বদা সুরক্ষিত থাকে। |
এগুলি কীভাবে কাজ করে?
Firebase Security Rules ডেটাবেস পাথের সাথে প্যাটার্ন ম্যাচ করানোর মাধ্যমে কাজ করে এবং তারপর সেইসব পাথে ডেটা অ্যাক্সেস করার অনুমতি দেওয়ার জন্য কাস্টম শর্তাবলী প্রয়োগ করে। Firebase প্রোডাক্ট জুড়ে সব Security Rules-এ পাথ-ম্যাচিং কম্পোনেন্ট এবং শর্তসাপেক্ষ স্টেটমেন্ট থাকে যা রিড বা রাইট অ্যাক্সেসের অনুমতি দেয়। আপনার অ্যাপে ব্যবহার করা প্রতিটি Firebase প্রোডাক্টের জন্য আপনাকে Security Rules অবশ্যই সংজ্ঞায়িত করতে হবে।
Cloud Firestore এবং Cloud Storage-এর জন্য, Security Rules নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:
service <<name>> {
// Match the resource path.
match <<path>> {
// Allow the request if the following conditions are true.
allow <<methods>> : if <<condition>>
}
}
Realtime Database-এর জন্য, JSON-ভিত্তিক Security Rules নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:
{
"rules": {
"<<path>>": {
// Allow the request if the condition for each method is true.
".read": <<condition>>,
".write": <<condition>>
}
}
}
Security Rules-কে OR স্টেটমেন্ট হিসেবে প্রয়োগ করা হয়, AND স্টেটমেন্ট হিসেবে নয়।
এর ফলে, একাধিক নিয়ম যদি কোনও পাথের সাথে মিলে যায় এবং মিলে যাওয়া কন্ডিশনের মধ্যে কোনও একটি যদি অ্যাক্সেস দেয়, তাহলে Security Rules সেই পাথে থাকা ডেটাতে অ্যাক্সেস
দিয়ে দেওয়া হয়। তাই, কোনও সাধারণ নিয়ম ডেটাতে অ্যাক্সেস দিলে, আপনি আরও নির্দিষ্ট নিয়ম দিয়ে
তা সীমাবদ্ধ করতে পারবেন না। তবে, আপনার
Security Rules যাতে খুব বেশি ওভারল্যাপ না করে তা নিশ্চিত করে আপনি এই সমস্যা এড়াতে পারেন। Firebase Security Rules আপনার মিলে যাওয়া পাথে
কম্পাইলার সতর্কতা হিসেবে ওভারল্যাপ ফ্ল্যাগ করে।
এছাড়াও, Firebase Security Rules ব্যবহারকারী-ভিত্তিক অনুমতি প্রদান করতে Authentication-এর সুবিধা নিতে পারে এবং আপনার সেট করা শর্তগুলি খুব সাধারণ বা অবিশ্বাস্যভাবে জটিল হতে পারে। Security Rules লেখা শুরু করার আগে Security Rules ভাষা ও আচরণ সম্পর্কে আরও জানুন ।
প্রয়োগ করার পাথ
| প্রোডাক্ট SDK ইন্টিগ্রেট করা | আপনার অ্যাপের জন্য Cloud Firestore, Cloud Storage, বা Realtime Database সেট-আপ করুন। | |
| আপনার Firebase Security Rules লিখুন | কীভাবে Security Rules কাজ করে এবং কিছু প্রাথমিক Security Rules সেট-আপ করুন সেই সম্পর্কে আরও জানুন | |
| আপনার Firebase Security Rules পরীক্ষা করুন | আপনার অ্যাপের আচরণ পরীক্ষা করতে এবং প্রোডাকশনে আপনার নিয়মগুলি প্রয়োগ করার আগে সেগুলি যাচাই করতে Realtime Database এবং Cloud Firestore এমুলেটর ব্যবহার করুন। | |
| আপনার Firebase Security Rules ডিপ্লয় করুন | প্রোডাকশনে আপনার নিয়ম ডিপ্লয় করতে Firebase কনসোল বা Firebase CLI ব্যবহার করুন। |
পরবর্তী ধাপ
- Firebase Security Rules ভাষা বুঝুন।
- কীভাবে Firebase Security Rules কাজ করে সেই সম্পর্কে আরও জানুন।
- সাধারণ ভুল যা আপনার এড়িয়ে চলা উচিত তা এক্সপ্লোর করুন।