ঐতিহ্যগতভাবে, অ্যাপ ডেভেলপমেন্টের সবচেয়ে জটিল অংশগুলোর মধ্যে নিরাপত্তা অন্যতম। বেশিরভাগ অ্যাপ্লিকেশনে, ডেভেলপারদের একটি সার্ভার তৈরি ও পরিচালনা করতে হয় যা অথেনটিকেশন (ব্যবহারকারী কে) এবং অথরাইজেশন (ব্যবহারকারী কী করতে পারবে) পরিচালনা করে। অথেনটিকেশন ও অথরাইজেশন সেট আপ করা কঠিন, সঠিকভাবে করা আরও কঠিন, এবং আপনার পণ্যের সাফল্যের জন্য এগুলো অত্যন্ত গুরুত্বপূর্ণ।
যেভাবে Firebase Authentication আপনার ব্যবহারকারীদের প্রমাণীকরণ সহজ করে, ঠিক সেভাবেই Cloud Storage জন্য Firebase Security Rules ব্যবহারকারীদের অনুমোদন দেওয়া এবং অনুরোধ যাচাই করা সহজ করে তোলে। Cloud Storage Security Rules আপনাকে পাথ-ভিত্তিক অনুমতি নির্দিষ্ট করার সুযোগ দিয়ে এই জটিলতা সামলে নেয়। মাত্র কয়েকটি কোডের লাইনেই আপনি এমন অনুমোদন নিয়ম লিখতে পারেন যা কোনো নির্দিষ্ট ব্যবহারকারীর জন্য Cloud Storage অনুরোধ সীমাবদ্ধ করে অথবা আপলোডের আকার সীমিত করে দেয়।
Firebase Realtime Database একই ধরনের একটি বৈশিষ্ট্য রয়েছে, যাকে Firebase Realtime Database Security Rules বলা হয়।
প্রমাণীকরণ
আপনার ব্যবহারকারী কারা তা জানা একটি অ্যাপ্লিকেশন তৈরির একটি গুরুত্বপূর্ণ অংশ, এবং Firebase Authentication প্রমাণীকরণের জন্য একটি সহজে ব্যবহারযোগ্য, নিরাপদ এবং শুধুমাত্র ক্লায়েন্ট-সাইড সমাধান প্রদান করে। Cloud Storage জন্য Firebase Security Rules ব্যবহারকারী-ভিত্তিক নিরাপত্তার জন্য Firebase Authentication সাথে সংযুক্ত থাকে। যখন কোনো ব্যবহারকারী Firebase Authentication মাধ্যমে প্রমাণীকৃত হন, তখন Cloud Storage Security Rules request.auth ভেরিয়েবলটি একটি অবজেক্টে পরিণত হয়, যাতে ব্যবহারকারীর ইউনিক আইডি ( request.auth.uid ) এবং টোকেনের ( request.auth.token ) মধ্যে থাকা অন্যান্য সমস্ত ব্যবহারকারীর তথ্য থাকে। যখন ব্যবহারকারী প্রমাণীকৃত হন না, তখন request.auth null থাকে। এটি আপনাকে ব্যবহারকারী-ভিত্তিক ডেটা অ্যাক্সেস নিরাপদে নিয়ন্ত্রণ করার সুযোগ দেয়। আপনি অথেনটিকেশন বিভাগে এ বিষয়ে আরও জানতে পারবেন।
অনুমোদন
আপনার ব্যবহারকারীকে শনাক্ত করা নিরাপত্তার একটি অংশ মাত্র। একবার আপনি জেনে গেলে তারা কারা, তখন Cloud Storage থাকা ফাইলগুলিতে তাদের প্রবেশাধিকার নিয়ন্ত্রণ করার জন্য আপনার একটি উপায় প্রয়োজন।
Cloud Storage আপনাকে প্রতিটি ফাইল এবং প্রতিটি পাথের জন্য আলাদা অনুমোদন নিয়ম নির্দিষ্ট করার সুযোগ দেয়, যা আমাদের সার্ভারে থাকে এবং আপনার অ্যাপের ফাইলগুলিতে অ্যাক্সেস নির্ধারণ করে। উদাহরণস্বরূপ, ডিফল্ট Cloud Storage Security Rules সমস্ত ফাইলে যেকোনো read বা write অপারেশন করার জন্য Firebase Authentication প্রয়োজন হয়:
service firebase.storage { match /b/{bucket}/o { match /someFolder/{fileName} { allow read, write: if request.auth != null; } } }
আপনি Firebase কনসোলে একটি Firebase অ্যাপ নির্বাচন করে এবং স্টোরেজ বিভাগের Rules ট্যাবটি দেখে এই নিয়মগুলি সম্পাদনা করতে পারেন।
ডেটা যাচাইকরণ
Cloud Storage জন্য Firebase Security Rules ডেটা যাচাইকরণের জন্যও ব্যবহার করা যেতে পারে, যার মধ্যে ফাইলের নাম এবং পাথের পাশাপাশি ফাইলের মেটাডেটা বৈশিষ্ট্য যেমন contentType এবং size যাচাই করা অন্তর্ভুক্ত।
service firebase.storage { match /b/{bucket}/o { match /images/{imageId} { // Only allow uploads of any image file that's less than 5MB allow write: if request.resource.size < 5 * 1024 * 1024 && request.resource.contentType.matches('image/.*'); } } }
পরবর্তী পদক্ষেপ
আপনার Cloud Storage বাকেটগুলির জন্য নিয়মাবলী তৈরির পরিকল্পনা শুরু করুন ।
নিরাপত্তা নিয়ম ব্যবহার করে আপনার ডেটা সুরক্ষিত রাখার বিষয়ে আরও জানুন।