ক্লাউড ফায়ারস্টোর নিরাপত্তা নিয়মের সাথে শুরু করুন

Cloud Firestore Security Rules এর সাহায্যে, আপনি অবকাঠামো পরিচালনা না করেই বা সার্ভার-সাইড প্রমাণীকরণ এবং অনুমোদন কোড না লিখেই একটি দুর্দান্ত ব্যবহারকারীর অভিজ্ঞতা তৈরিতে মনোনিবেশ করতে পারেন।

নিরাপত্তা নিয়মগুলি একটি সহজ কিন্তু অভিব্যক্তিপূর্ণ বিন্যাসে অ্যাক্সেস নিয়ন্ত্রণ এবং ডেটা যাচাইকরণ প্রদান করে। ব্যবহারকারী-ভিত্তিক এবং ভূমিকা-ভিত্তিক অ্যাক্সেস সিস্টেম তৈরি করতে যা আপনার ব্যবহারকারীদের ডেটা সুরক্ষিত রাখে, আপনাকে Cloud Firestore Security Rules সাথে ফায়ারবেস প্রমাণীকরণ ব্যবহার করতে হবে।

নিরাপত্তা নিয়ম সংস্করণ ২

মে ২০১৯ থেকে, Cloud Firestore নিরাপত্তা নিয়মের সংস্করণ ২ এখন উপলব্ধ। নিয়মের সংস্করণ ২ পুনরাবৃত্ত ওয়াইল্ডকার্ডের আচরণ পরিবর্তন করে {name=**} । যদি আপনি সংগ্রহ গ্রুপ কোয়েরি ব্যবহার করার পরিকল্পনা করেন তবে আপনাকে অবশ্যই সংস্করণ ২ ব্যবহার করতে হবে। আপনার নিরাপত্তা নিয়মের প্রথম লাইনটি rules_version = '2'; করে সংস্করণ ২-এ অপ্ট-ইন করতে হবে:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {

লেখার নিয়ম

আপনি ডিফল্ট ডাটাবেস এবং আপনার প্রকল্পের প্রতিটি অতিরিক্ত ডাটাবেসের জন্য আপনার তৈরি ডেটা মডেল অনুসারে তৈরি Cloud Firestore Security Rules লিখবেন এবং পরিচালনা করবেন।

সমস্ত Cloud Firestore Security Rules match বিবৃতি থাকে, যা আপনার ডাটাবেসে থাকা নথিগুলি সনাক্ত করে এবং এক্সপ্রেশনগুলিকে allow , যা সেই নথিগুলিতে অ্যাক্সেস নিয়ন্ত্রণ করে:

service cloud.firestore {
  match /databases/{database}/documents {
    match /<some_path>/ {
      allow read, write: if <some_condition>;
    }
  }
}

Cloud Firestore মোবাইল/ওয়েব ক্লায়েন্ট লাইব্রেরি থেকে প্রতিটি ডাটাবেস অনুরোধ কোনও ডেটা পড়ার বা লেখার আগে আপনার সুরক্ষা নিয়ম অনুসারে মূল্যায়ন করা হয়। যদি নিয়মগুলি নির্দিষ্ট নথির কোনও পাথের অ্যাক্সেস অস্বীকার করে, তবে সম্পূর্ণ অনুরোধটি ব্যর্থ হয়।

নীচে মৌলিক নিয়ম সেটের কিছু উদাহরণ দেওয়া হল। যদিও এই নিয়মগুলি বৈধ, উৎপাদন অ্যাপ্লিকেশনের জন্য এগুলি সুপারিশ করা হয় না:

প্রমাণীকরণ প্রয়োজন

// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

সব অস্বীকার করুন

// Deny read/write access to all users under any conditions
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

সকলকে অনুমতি দিন

// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

উপরের উদাহরণগুলিতে ব্যবহৃত {document=**} পাথটি সম্পূর্ণ ডাটাবেসের যেকোনো ডকুমেন্টের সাথে মিলে যায়। নির্দিষ্ট ডেটা পাথ কীভাবে মেলাতে হয় এবং হায়ারার্কিকাল ডেটার সাথে কীভাবে কাজ করতে হয় তা শিখতে নিরাপত্তা নিয়ম গঠনের নির্দেশিকাটি অনুসরণ করুন।

পরীক্ষার নিয়ম

Cloud Firestore একটি নিয়ম সিমুলেটর প্রদান করে যা আপনি আপনার নিয়ম সেট পরীক্ষা করতে ব্যবহার করতে পারেন। আপনি ফায়ারবেস কনসোলের Cloud Firestore বিভাগের নিয়ম ট্যাব থেকে সিমুলেটরটি অ্যাক্সেস করতে পারেন।

রুলস সিমুলেটর আপনাকে প্রমাণিত এবং অপ্রমাণিত পঠন, লেখা এবং মুছে ফেলার সিমুলেট করতে দেয়। যখন আপনি একটি প্রমাণিত অনুরোধ সিমুলেট করেন, তখন আপনি বিভিন্ন প্রদানকারীর কাছ থেকে প্রমাণীকরণ টোকেন তৈরি এবং প্রিভিউ করতে পারেন। সিমুলেট করা অনুরোধগুলি আপনার সম্পাদকের রুলসেটের বিরুদ্ধে চলে, আপনার বর্তমানে মোতায়েন করা রুলসেটের বিরুদ্ধে নয়।

নিয়ম স্থাপন

আপনার মোবাইল অ্যাপ থেকে Cloud Firestore ব্যবহার শুরু করার আগে, আপনাকে নিরাপত্তা নিয়ম স্থাপন করতে হবে। আপনি ফায়ারবেস কনসোলে, ফায়ারবেস CLI ব্যবহার করে, অথবা Cloud Firestore ম্যানেজমেন্ট REST API ব্যবহার করে নিয়ম স্থাপন করতে পারেন।

Cloud Firestore Security Rules আপডেটগুলি নতুন প্রশ্ন এবং শ্রোতাদের প্রভাবিত করতে এক মিনিট পর্যন্ত সময় নিতে পারে। তবে, পরিবর্তনগুলি সম্পূর্ণরূপে প্রচার করতে এবং সক্রিয় শ্রোতাদের প্রভাবিত করতে 10 মিনিট পর্যন্ত সময় লাগতে পারে।

ফায়ারবেস কনসোল ব্যবহার করুন

আপনার প্রকল্পের ডিফল্ট ডাটাবেসের জন্য, আপনার প্রথম নিয়ম সেট সেট আপ এবং স্থাপন করতে, Firebase কনসোলের Cloud Firestore বিভাগে নিয়ম ট্যাবটি খুলুন।

অনলাইন এডিটরে আপনার নিয়মগুলি লিখুন, তারপর প্রকাশ করুন এ ক্লিক করুন।

ফায়ারবেস সিএলআই ব্যবহার করুন

আপনি Firebase CLI ব্যবহার করেও নিয়ম স্থাপন করতে পারেন। CLI ব্যবহার করে আপনি আপনার অ্যাপ্লিকেশন কোডের মাধ্যমে আপনার নিয়মগুলিকে সংস্করণ নিয়ন্ত্রণে রাখতে পারবেন এবং আপনার বিদ্যমান স্থাপনা প্রক্রিয়ার অংশ হিসেবে নিয়ম স্থাপন করতে পারবেন।

// Set up Firestore in your project directory, creates a .rules file
firebase init firestore

// Edit the generated .rules file to your desired security rules
// ...

// Deploy rules for all configured databases
firebase deploy --only firestore

Cloud Storage নিরাপত্তা বৃদ্ধি করুন

আপনার অ্যাপগুলি Cloud Firestore শক্তিশালী ডাটাবেস বৈশিষ্ট্য এবং Cloud Storage ফাইল স্টোরেজ এবং পরিচালনা বৈশিষ্ট্যগুলি থেকে উপকৃত হবে। একসাথে ব্যবহৃত এই পণ্যগুলি অ্যাপ সুরক্ষাও জোরদার করে, কারণ Cloud Firestore উভয় পণ্যের জন্য ফায়ারবেস সুরক্ষা নিয়ম অনুসারে অনুমোদিত অনুমোদনের প্রয়োজনীয়তাগুলি ক্যাপচার করতে পারে। আরও তথ্যের জন্য, Cloud Storage নির্দেশিকাটি দেখুন।

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