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 RulesOR হিসেবে প্রয়োগ করা হয়, 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 ব্যবহার করুন।

পরবর্তী ধাপ