ক্লাউড স্টোরেজ নিরাপত্তা বিধি দিয়ে শুরু করুন

সাধারণ অ্যাপগুলিতে, বিকাশকারীদের অবশ্যই অনেকগুলি সার্ভার তৈরি এবং বজায় রাখতে হবে যা প্রমাণীকরণ, অনুমোদন এবং ডেটা যাচাইকরণের পাশাপাশি বিকাশকারীর ব্যবসায়িক যুক্তিও সম্পাদন করে। Cloud Storage for Firebase ব্যবহার করা অ্যাপগুলি সার্ভারহীন প্রমাণীকরণ, অনুমোদন এবং ডেটা বৈধতা পরিচালনা করতে Cloud Storage জন্য Firebase Authentication এবং Firebase Security Rules ব্যবহার করে।

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

ওভারভিউ

Cloud Storage Security Rules Cloud Storage সঞ্চিত ফাইলগুলিতে কে পড়ার এবং লেখার অ্যাক্সেস পেয়েছে, সেইসাথে ফাইলগুলি কীভাবে গঠন করা হয় এবং সেগুলিতে কী মেটাডেটা রয়েছে তা নির্ধারণ করতে ব্যবহৃত হয়৷ মৌলিক প্রকারের নিয়ম হল allow বিধি, যা ঐচ্ছিকভাবে নির্দিষ্ট শর্ত পূরণ করা হলে read এবং write ক্রিয়াকলাপকে অনুমতি দেয়। নিয়মের কিছু উদাহরণ হল:

// Rules can optionally specify a condition
allow write: if <condition>;

Cloud Storage রেফারেন্স প্রতিনিধিত্বকারী ফাইল পাথের সাথে নিয়ম match । নিয়ম এক বা একাধিক ফাইল পাথের match , এবং একাধিক নিয়ম প্রদত্ত request ফাইল পাথের match :

// Rules match specific paths
match /images/profilePhoto.png {
  allow write: if <condition>;
}

match /images/croppedProfilePhoto.png {
  allow write: if <other_condition>;
}

নিয়ম মূল্যায়নের প্রেক্ষাপটটি request এবং resource বস্তুর মাধ্যমেও প্রকাশ করা হয়, যা প্রমাণের প্রসঙ্গ ( request.auth ) এবং বিদ্যমান বস্তুর আকার ( resource.size ) এর মতো তথ্য প্রদান করে।

// Rules can specify conditions that consider the request context
match /images/profilePhoto.png {
  allow write: if request.auth != null && request.resource.size < 5 * 1024 * 1024;
}

সিকিউর ফাইল বিভাগে Cloud Storage Security Rules সম্পর্কে আরও জানুন।

নমুনা নিয়ম

Cloud Storage Security Rules প্রথমে service নির্দিষ্ট করতে হবে (আমাদের ক্ষেত্রে firebase.storage ), এবং Cloud Storage বাকেট ( match /b/{bucket}/o এর মাধ্যমে) যে নিয়মগুলির বিরুদ্ধে মূল্যায়ন করা হয়। ডিফল্ট নিয়মগুলির জন্য Firebase Authentication প্রয়োজন, কিন্তু এখানে বিভিন্ন অ্যাক্সেস নিয়ন্ত্রণ সহ অন্যান্য সাধারণ নিয়মগুলির কিছু উদাহরণ রয়েছে৷

ডিফল্ট

// Only authenticated users can read or write to the folder
service firebase.storage {
  match /b/{bucket}/o {
    match /someFolder/{fileName} {
      allow read, write: if request.auth != null;
    }
  }
}

পাবলিক

// Anyone can read or write to the folder, even non-users of your app.
// Because it is shared with App Engine, this will also make
// files uploaded via App Engine public.
service firebase.storage {
  match /b/{bucket}/o {
    match /someFolder/{fileName} {
      allow read, write;
    }
  }
}

ব্যবহারকারী

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/file.txt"
    match /user/{userId}/{fileName} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}

ব্যক্তিগত

// Access to files through Cloud Storage for Firebase is completely disallowed.
// Files may still be accessible through App Engine or Google Cloud Storage APIs.
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if false;
    }
  }
}

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

ব্যবহারকারীর নিয়মগুলি আপনাকে আপনার প্রমাণীকৃত ব্যবহারকারীদের প্রত্যেককে তাদের নিজস্ব ব্যক্তিগত ফাইল স্টোরেজ দেওয়ার অনুমতি দেয়। আপনি ব্যক্তিগত নিয়মগুলি ব্যবহার করে আপনার ফাইলগুলি সম্পূর্ণরূপে লক করতে পারেন, তবে সচেতন থাকুন যে আপনার ব্যবহারকারীরা এই নিয়মগুলির সাথে Cloud Storage মাধ্যমে কিছু পড়তে বা লিখতে সক্ষম হবেন না৷ আপনার App Engine অ্যাপ বা Google Cloud Storage API থেকে ফাইল অ্যাক্সেস করা ব্যবহারকারীদের এখনও অ্যাক্সেস থাকতে পারে।

নিয়ম সম্পাদনা করুন

Cloud Storage Firebase কনসোল স্টোরেজ বিভাগে নিয়ম ট্যাবের মাধ্যমে আপনার Cloud Storage Security Rules সম্পাদনা করার একটি সহজ উপায় প্রদান করে৷ নিয়ম ট্যাবে, আপনি দ্রুত এবং সহজেই আপনার বর্তমান নিয়মগুলি দেখতে এবং সম্পাদনা করতে পারেন৷ এই নিয়মগুলি প্রকাশ করা ক্লিক করে বা ফাইলটি ( ctrl/cmd + s ) সংরক্ষণ করে স্থাপন করা হয়। নিয়মগুলি অবিলম্বে Cloud Storage সার্ভারে আপলোড করা হয়, কিন্তু লাইভ হতে পাঁচ মিনিট পর্যন্ত সময় লাগতে পারে৷

Firebase সিএলআই নিয়মগুলি স্থাপন করতেও ব্যবহার করা যেতে পারে। আপনি যদি firebase init চালানোর সময় Storage নির্বাচন করেন, আপনার প্রকল্প ডিরেক্টরিতে ডিফল্ট নিয়মগুলির একটি অনুলিপি সহ একটি storage.rules ফাইল তৈরি হবে। আপনি firebase deploy কমান্ড ব্যবহার করে এই নিয়মগুলি স্থাপন করতে পারেন। আপনার প্রোজেক্টে একাধিক বালতি থাকলে, আপনি একই প্রোজেক্ট ফোল্ডার থেকে একবারে আপনার সমস্ত বালতিতে নিয়ম স্থাপন করতে ডিপ্লোয় টার্গেট ব্যবহার করতে পারেন।

সিকিউর ফাইল বিভাগে ফাইল ভিত্তিক নিরাপত্তা কীভাবে কাজ করে সে সম্পর্কে আরও জানুন, অথবা ব্যবহারকারীর নিরাপত্তা বিভাগে ব্যবহারকারী ভিত্তিক নিরাপত্তা বুঝুন।