Firebase Security Rules

Cloud Firestore , Firebase Realtime Database এবং Cloud Storage আপনার ডেটা সুরক্ষিত করতে আমাদের নমনীয় ও সম্প্রসারণযোগ্য ফায়ারবেস নিরাপত্তা নিয়মাবলী ব্যবহার করুন।

Firebase Security Rules আপনার ডেটা এবং ক্ষতিকারক ব্যবহারকারীদের মধ্যে সুরক্ষা দেয়। আপনি সহজ বা জটিল নিয়ম লিখতে পারেন যা আপনার নির্দিষ্ট অ্যাপের প্রয়োজন অনুযায়ী সূক্ষ্ম স্তরে আপনার অ্যাপের ডেটাকে সুরক্ষিত রাখে।

Firebase Security Rules Realtime Database , Cloud Firestore এবং Cloud Storage জন্য আপনার ব্যবহারকারীরা কোন ডেটা অ্যাক্সেস করতে পারবে তা নির্ধারণ করতে সম্প্রসারণযোগ্য ও নমনীয় কনফিগারেশন ল্যাঙ্গুয়েজ ব্যবহার করে। Firebase Realtime Database Security Rules নিয়ম সংজ্ঞায়নে JSON ব্যবহার করে, অন্যদিকে Cloud Firestore Security Rules এবং Cloud Storage জন্য Firebase Security Rules আরও জটিল নিয়ম-নির্দিষ্ট কাঠামো ধারণ করার জন্য নির্মিত একটি অনন্য ল্যাঙ্গুয়েজ ব্যবহার করে।

আপনার অ্যাপে ব্যবহৃত নির্দিষ্ট Firebase প্রোডাক্টগুলোর জন্য কীভাবে Security Rules সেট আপ করবেন এবং বিভিন্ন Firebase প্রোডাক্টে Security Rules আচরণ কীভাবে ভিন্ন হয়, সে সম্পর্কে আরও জানুন।

শুরু করুন

মূল সক্ষমতা

নমনীয়তা আপনার অ্যাপের গঠন ও আচরণের জন্য উপযুক্ত কাস্টম নিয়ম তৈরি করুন। Security Rules এমন ভাষা ব্যবহার করে যা আপনাকে অ্যাক্সেস অনুমোদনের জন্য আপনার নিজের ডেটা কাজে লাগানোর সুযোগ দেয়।
দানাদারত্ব আপনার নিয়মগুলো প্রয়োজন অনুযায়ী ব্যাপক বা সীমিত হতে পারে।
স্বাধীন নিরাপত্তা যেহেতু Security Rules আপনার অ্যাপের বাইরে ( Firebase কনসোল বা Firebase সিএলআই-তে) সংজ্ঞায়িত করা হয়, তাই ক্লায়েন্টরা নিরাপত্তা প্রয়োগের জন্য দায়ী থাকে না, বাগের কারণে ডেটা ঝুঁকির মুখে পড়ে না এবং আপনার ডেটা সর্বদা সুরক্ষিত থাকে।

এগুলো কীভাবে কাজ করে?

Firebase Security Rules ডাটাবেস পাথের সাথে একটি প্যাটার্ন মিলিয়ে কাজ করে এবং তারপর সেই পাথগুলিতে থাকা ডেটাতে অ্যাক্সেস দেওয়ার জন্য কাস্টম শর্ত প্রয়োগ করে। ফায়ারবেস প্রোডাক্ট জুড়ে সমস্ত Security Rules একটি পাথ-ম্যাচিং কম্পোনেন্ট এবং রিড বা রাইট অ্যাক্সেস দেওয়ার জন্য একটি শর্তসাপেক্ষ স্টেটমেন্ট থাকে। আপনার অ্যাপে ব্যবহৃত প্রতিটি ফায়ারবেস প্রোডাক্টের জন্য আপনাকে 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 AND স্টেটমেন্ট হিসেবে নয়, বরং OR স্টেটমেন্ট হিসেবে প্রয়োগ করা হয়। ফলস্বরূপ, যদি একাধিক রুল একটি পাথের সাথে মেলে এবং মিলে যাওয়া শর্তগুলোর কোনো একটি অ্যাক্সেস দেয়, তাহলে 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 DatabaseCloud Firestore এমুলেটর ব্যবহার করুন।
আপনার Firebase Security Rules স্থাপন করুন আপনার রুলগুলো প্রোডাকশনে ডেপ্লয় করতে Firebase কনসোল অথবা Firebase সিএলআই ব্যবহার করুন।

পরবর্তী পদক্ষেপ