এই প্রম্পটটি আপনার এআই অ্যাসিস্ট্যান্টকে (যেমন Gemini CLI ) আপনার অ্যাপের জন্য Firebase Security Rules তৈরি ও পরিমার্জন করতে সাহায্য করতে পারে। আপনি এই প্রম্পটটি ব্যবহার করে সাধারণ ব্যবহারের ক্ষেত্রগুলোর জন্য Security Rules খসড়া তৈরি করতে পারেন, যেমন—ব্যবহারকারী-নির্দিষ্ট অ্যাক্সেস প্রদান, ভূমিকা-ভিত্তিক অনুমতি প্রয়োগ এবং ডেটা যাচাই করা।
এই প্রম্পটটি নিম্নলিখিত বিষয়গুলির জন্য Security Rules তৈরি করার উপর আলোকপাত করে:
- Cloud Firestore : আপনার অ্যাপের লজিকের উপর ভিত্তি করে কালেকশন এবং ডকুমেন্ট সুরক্ষিত করুন।
- Cloud Storage for Firebase : আপনার সংরক্ষিত ফাইলগুলির অ্যাক্সেস অনুমতি যাচাই করুন।
এই প্রম্পটটি ব্যবহার করে আপনি একটি শক্তিশালী নিরাপত্তা ব্যবস্থা শুরু করতে পারেন, কিন্তু প্রোডাকশনে ডেপ্লয় করার আগে আপনার Security Rules সর্বদা পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা উচিত। Security Rules পরীক্ষা করার বিষয়ে আরও তথ্যের জন্য, “Get started with Firebase Security Rules : Test your Security Rules ” পর্যালোচনা করুন।
পূর্বশর্ত
- Firebase Security Rules সর্বোত্তম অনুশীলনগুলো সম্পর্কে অবগত হন।
- Firebase Security Rules এর জন্য ইউনিট টেস্ট চালাতে এবং Firebase Local Emulator Suite ব্যবহার করতে, Node.js এবং Firebase CLI ইনস্টল করুন। সম্পূর্ণ নির্দেশাবলীর জন্য, “Install, configure, and integrate Firebase Local Emulator Suite দেখুন।
- সুপারিশকৃত: যদি আগে থেকে ইনস্টল করা না থাকে, তাহলে Gemini CLI ইনস্টল করুন । Security Rules তৈরি করার জন্য Gemini CLI এর ফায়ারবেস এক্সটেনশনটি কীভাবে ইনস্টল ও ব্যবহার করতে হয়, তা নিম্নলিখিত নির্দেশাবলীতে ব্যাখ্যা করা হয়েছে। আপনি যদি অন্য কোনো এআই অ্যাসিস্ট্যান্ট ব্যবহার করতে চান, তাহলে
firebase-toolsরিপোজিটরি থেকে Cloud Firestore বা Cloud Storage for Firebase এর প্রম্পটটি কপি করে আপনার পছন্দের এআই অ্যাসিস্ট্যান্টে পেস্ট করতে পারেন। - Gemini CLI এর জন্য Firebase এক্সটেনশনটি Firebase MCP সার্ভারের সাথে সংযোগ স্থাপন করে, যার মাধ্যমে Firebase Security Rules তৈরি ও যাচাই করার জন্য প্রম্পটগুলো অ্যাক্সেস করা যায় এবং এটি Security Rules এর টেস্টিং ও ডেপ্লয়মেন্টে সাহায্য করে। Firebase Security Rules তৈরি করার জন্য এক্সটেনশনটি ব্যবহার করার আগে Firebase MCP সার্ভারটি ইনস্টল করে নিন ।
সীমাবদ্ধতা
আমরা এই অভিজ্ঞতাটিকে ক্রমাগত উন্নত করছি, তাই সীমাবদ্ধতার এই তালিকাটি পরিবর্তিত হতে পারে। হালনাগাদ তথ্যের জন্য নিয়মিত দেখুন।
এই প্রম্পটটি Cloud Firestore এবং Cloud Storage for Firebase জন্য Firebase Security Rules তৈরি করার উদ্দেশ্যে ডিজাইন করা হয়েছে। এটি এখনও Firebase Realtime Database এর জন্য Security Rules তৈরি করতে সক্ষম নয়।
সার্ভার বা অন্য কোনো ব্যাকএন্ড এনভায়রনমেন্ট থেকে আপনার ডাটাবেস বা বাকেট অ্যাক্সেস করার সময়, যেমন Firebase Admin SDK ব্যবহার করার ক্ষেত্রে, Firebase Security Rules কল করা হয় না। আপনি যদি Admin SDK ব্যবহার করেন, তবে আপনার ব্যাকএন্ড কোডে অথরাইজেশন এবং ডেটা ভ্যালিডেশন পরিচালনার দায়িত্ব আপনার।
Firebase কনসোলের মধ্যে থাকা Firebase , এই প্রম্পটটি ব্যবহার করা সত্ত্বেও, Firebase Security Rules তৈরি করতে পারে না। এর পরিবর্তে, এমন একটি বিকল্প এআই অ্যাসিস্ট্যান্ট ব্যবহার করুন যার আপনার কোডবেসে অ্যাক্সেস আছে, যেমন Gemini CLI (যা এই পৃষ্ঠায় বর্ণনা করা হয়েছে)।
প্রম্পটটি ব্যবহার করুন
আপনার Security Rules এবং টেস্ট তৈরি করার জন্য , Gemini CLI এর জন্য ফায়ারবেস এক্সটেনশনের মধ্যে থাকা Security Rules সক্ষমতার মাধ্যমে এই প্রম্পটটি পাওয়া যায়। এই এক্সটেনশনটি Cloud Firestore এবং Cloud Storage -এর জন্য ডেটা স্কিমা এবং অ্যাক্সেস প্যাটার্ন শনাক্ত করতে সাহায্য করার উদ্দেশ্যে আপনার সোর্স কোড বিশ্লেষণ করে। এটি ন্যূনতম বিশেষাধিকারের (least privilege) নীতির উপর ভিত্তি করে Security Rules খসড়া করার জন্য ডিজাইন করা হয়েছে এবং পুনরাবৃত্তিমূলক "আক্রমণ" সিমুলেশনের মাধ্যমে দুর্বলতা উন্মোচন করার চেষ্টা করে। চূড়ান্ত যাচাইকরণে সহায়তা করার জন্য, এটি @firebase/rules-unit-testing ব্যবহার করে একটি প্রাথমিক ইউনিট টেস্ট স্যুট প্রদান করে, যা আপনাকে Firebase Local Emulator Suite ব্যবহার করে স্থানীয়ভাবে আপনার সিকিউরিটি লজিক যাচাই করার সুযোগ দেয়।
এই এক্সটেনশনটি ব্যবহার করার জন্য তিনটি ধাপ অনুসরণ করতে হবে, যা এই বিভাগে বর্ণনা করা হয়েছে:
ধাপ ১ : Security Rules এবং পরীক্ষা তৈরি করুন
এক্সটেনশনটি ইনস্টল ও চালান:
Gemini CLI এর জন্য Firebase এক্সটেনশনটি ইনস্টল করুন:
gemini extensions install https://github.com/gemini-cli-extensions/firebaseGemini CLI শুরু করুন:
geminiআপনার প্রোজেক্টের রুট থেকে, Cloud Firestore অথবা Cloud Storage জন্য Security Rules তৈরি করতে এক্সটেনশনটি চালান:
Cloud Firestore জন্য Security Rules তৈরি করুন:
/firestore:generate_security_rulesপ্যারেন্ট ডিরেক্টরিতে, এক্সটেনশনটি একটি
firestore.rulesফাইল এবং একটি নতুনsecurity_rules_test_firestoreডিরেক্টরি তৈরি করে, যেটিতে তৈরি হওয়া Security Rules জন্য ইউনিট টেস্টসহ একটি Node.js প্রজেক্ট থাকে।Cloud Storage for Firebase জন্য Security Rules তৈরি করুন:
/storage:generate_security_rulesপ্যারেন্ট ডিরেক্টরিতে, এক্সটেনশনটি একটি
storage.rulesফাইল এবং একটি নতুনsecurity_rules_test_storageডিরেক্টরি তৈরি করে, যেটিতে তৈরি হওয়া Security Rules জন্য ইউনিট টেস্টসহ একটি Node.js প্রজেক্ট থাকে।
ধাপ ২ : Security Rules যাচাইকরণ এবং পরীক্ষার ফলাফল পর্যালোচনা করুন।
আপনার এআই অ্যাসিস্ট্যান্ট যেন নিম্নলিখিত কাজগুলো সম্পন্ন করে, তা নিশ্চিত করুন। এক্সটেনশনটি চলার পর আপনি একটি তৈরি করা সারাংশ পাবেন।
সিনট্যাক্স যাচাইকরণ : Security Rules তৈরি করার পর, Gemini CLI স্বয়ংক্রিয়ভাবে Firebase MCP সার্ভার থেকে
firebase_validate_security_rulesকমান্ড ব্যবহার করে সিনট্যাক্স যাচাই করে।ইউনিট টেস্ট : সিনট্যাক্স যাচাই করার পর, Gemini CLI Firebase Local Emulator Suite ব্যবহার করে তৈরি করা ইউনিট টেস্টগুলো চালানোর চেষ্টা করে।
যদি টেস্টগুলো স্বয়ংক্রিয়ভাবে চালু না হয়, তাহলে একটি আলাদা টার্মিনালে Firebase Local Emulator Suite চালু করুন , তারপর টেস্টগুলো চালানোর জন্য নিচের অপশনগুলোর মধ্যে যেকোনো একটি ব্যবহার করুন:
বিকল্প ১: পরীক্ষা চালানোর জন্য Gemini CLI নির্দেশ দিন:
Firebase Emulator Suite is running in a separate terminal. Please execute the tests.বিকল্প ২:
rules_testঅথবাstorage_rules_testডিরেক্টরিতে থাকাREADME.mdফাইলের নির্দেশাবলী অনুসরণ করে ম্যানুয়ালি টেস্টগুলো চালান।
ধাপ ৩ : আপনার ফায়ারবেস প্রকল্পে Security Rules প্রয়োগ করুন।
আপনার তৈরি করা Security Rules এর ফলাফলে সন্তুষ্ট হলে, আপনার ফায়ারবেস প্রজেক্টে Security Rules ডিপ্লয় করতে নিম্নলিখিত Firebase CLI কমান্ডগুলো ব্যবহার করুন:
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage for Firebase
firebase deploy --only storage
অতিরিক্ত সম্পদ
- আপনার নিরাপত্তা ব্যবস্থা আরও জোরদার করার জন্য, আপনি Gemini CLI এর নিরাপত্তা এক্সটেনশনটিও ব্যবহার করতে পারেন; এটি একটি ওপেন-সোর্স এক্সটেনশন যা কোডের পরিবর্তন বিশ্লেষণ করে নিরাপত্তা ঝুঁকি ও দুর্বলতা শনাক্ত করে।