এআই প্রম্পট: ফায়ারবেস সুরক্ষা নিয়ম লিখুন

এই প্রম্পটটি আপনার AI সহকারীকে (যেমন Gemini CLI ) আপনার অ্যাপের জন্য Firebase Security Rules তৈরি এবং পরিমার্জন করতে সাহায্য করতে পারে। আপনি সাধারণ ব্যবহারের ক্ষেত্রে, যেমন ব্যবহারকারী-নির্দিষ্ট অ্যাক্সেস প্রদান, ভূমিকা-ভিত্তিক অনুমতি বাস্তবায়ন এবং ডেটা যাচাইকরণের জন্য Security Rules খসড়া করতে প্রম্পটটি ব্যবহার করতে পারেন।

এই প্রম্পটটি নিম্নলিখিত বিষয়গুলির জন্য Security Rules তৈরির উপর দৃষ্টি নিবদ্ধ করে:

  • Cloud Firestore : আপনার অ্যাপের যুক্তির উপর ভিত্তি করে সংগ্রহ এবং নথি সুরক্ষিত করুন।
  • Cloud Storage for Firebase : আপনার সঞ্চিত ফাইলগুলির অ্যাক্সেস অনুমতি যাচাই করুন।

এই প্রম্পটটি ব্যবহার করলে আপনি একটি শক্তিশালী নিরাপত্তা ভঙ্গিতে শুরু করতে পারবেন, তবে প্রোডাকশনে মোতায়েনের আগে আপনার Security Rules সর্বদা পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা উচিত। Security Rules পরীক্ষা করার বিষয়ে আরও তথ্যের জন্য, Firebase Security Rules শুরু করুন: আপনার Security Rules পরীক্ষা করুন" পর্যালোচনা করুন।

পূর্বশর্ত

  • Firebase Security Rules সেরা অনুশীলনগুলির সাথে নিজেকে পরিচিত করুন।
  • Firebase Security Rules এর জন্য ইউনিট পরীক্ষা চালানোর জন্য এবং Firebase Local Emulator Suite ব্যবহার করার জন্য, Node.js এবং Firebase CLI ইনস্টল করুন। সম্পূর্ণ নির্দেশাবলীর জন্য, Firebase Local Emulator Suite ইনস্টল, কনফিগার এবং ইন্টিগ্রেট করুন দেখুন।
  • প্রস্তাবিত: যদি আপনি ইতিমধ্যেই Gemini CLI ইনস্টল না করে থাকেন, তাহলে নিম্নলিখিত নির্দেশাবলীতে Security Rules তৈরি করার জন্য একটি Gemini CLI এক্সটেনশন ইনস্টল এবং ব্যবহার করার পদ্ধতি ব্যাখ্যা করা হয়েছে। আপনি যদি অন্য AI সহকারী ব্যবহার করতে চান, তাহলে আপনি এক্সটেনশনের সংগ্রহস্থল থেকে প্রম্পটটি কপি করে আপনার পছন্দের AI সহকারীতে পেস্ট করতে পারেন।
  • এই Gemini CLI এক্সটেনশনটি ফায়ারবেস এমসিপি সার্ভার ব্যবহার করে এটি তৈরি করা Firebase Security Rules যাচাই করে। আপনার Security Rules সহজ পরীক্ষা এবং স্থাপনার জন্যও এমসিপি সার্ভার ব্যবহার করা যেতে পারে। Firebase Security Rules তৈরি করতে এক্সটেনশন ব্যবহার করার আগে ফায়ারবেস এমসিপি সার্ভার ইনস্টল করুন

সীমাবদ্ধতা

আমরা সক্রিয়ভাবে এই অভিজ্ঞতা উন্নত করছি, তাই সীমাবদ্ধতার এই তালিকাটি পরিবর্তিত হতে পারে। আপডেটের জন্য প্রায়শই ফিরে আসুন।

  • এই প্রম্পটটি Cloud Firestore জন্য Firebase Security Rules এবং Cloud Storage for Firebase তৈরি করার জন্য ডিজাইন করা হয়েছে। এটি এখনও Firebase Realtime Database জন্য Security Rules তৈরি করতে সক্ষম নয়।

  • সার্ভার বা অন্যান্য ব্যাকএন্ড পরিবেশ থেকে আপনার ডাটাবেস বা বাকেট অ্যাক্সেস করার সময়, যেমন Firebase Admin SDK ব্যবহার করার সময়, Firebase Security Rules বলা হয় না। আপনি যদি Admin SDK ব্যবহার করেন, তাহলে আপনার ব্যাকএন্ড কোডে অনুমোদন এবং ডেটা যাচাইকরণ পরিচালনা করার জন্য আপনি দায়ী।

  • Firebase কনসোলের মধ্যে Firebase এর Gemini, এই প্রম্পটটি ব্যবহার করার পরেও Firebase Security Rules তৈরি করতে অক্ষম। পরিবর্তে, আপনার কোডবেসে অ্যাক্সেস আছে এমন একটি বিকল্প AI সহকারী ব্যবহার করুন, যেমন Gemini CLI (যা এই পৃষ্ঠায় বর্ণিত আছে)।

প্রম্পটটি ব্যবহার করুন

এই প্রম্পটটি Firebase Security Rules এর জন্য Gemini CLI এক্সটেনশন থেকে পাওয়া যাবে যা আপনার Security Rules এবং পরীক্ষা তৈরি করবে। এই এক্সটেনশনটি আপনার সোর্স কোড বিশ্লেষণ করে Cloud Firestore এবং Cloud Storage জন্য ডেটা স্কিমা এবং অ্যাক্সেস প্যাটার্ন সনাক্ত করতে সাহায্য করে। এটি ন্যূনতম সুবিধার নীতির উপর ভিত্তি করে Security Rules খসড়া করার জন্য ডিজাইন করা হয়েছে এবং পুনরাবৃত্তিমূলক "আক্রমণ" সিমুলেশনের মাধ্যমে দুর্বলতাগুলি উন্মোচন করার চেষ্টা করে। চূড়ান্ত যাচাইকরণে সহায়তা করার জন্য, এটি @firebase/rules-unit-testing ব্যবহার করে একটি শুরুর ইউনিট পরীক্ষা স্যুট প্রদান করে, যা আপনাকে Firebase Local Emulator Suite ব্যবহার করে স্থানীয়ভাবে আপনার নিরাপত্তা যুক্তি যাচাই করতে দেয়।

এই এক্সটেনশনটি ব্যবহার করার জন্য তিনটি ধাপ প্রয়োজন যা এই বিভাগে বর্ণিত হয়েছে:

  1. আপনার Security Rules এবং পরীক্ষা তৈরি করুন

  2. Security Rules বৈধতা এবং পরীক্ষার ফলাফল পর্যালোচনা করুন

  3. আপনার ফায়ারবেস প্রকল্পে Security Rules স্থাপন করুন

ধাপ ১ : Security Rules এবং পরীক্ষা তৈরি করুন

এক্সটেনশনটি ইনস্টল করুন এবং চালান:

  1. Gemini CLI এক্সটেনশনটি ইনস্টল করুন:

    gemini extensions install https://github.com/firebase/snippets-rules
  2. Gemini CLI শুরু করুন:

    gemini
  3. আপনার প্রকল্পের মূল থেকে, Cloud Firestore অথবা Cloud Storage জন্য Security Rules তৈরি করতে এক্সটেনশনটি চালান:

    • Cloud Firestore জন্য Security Rules তৈরি করুন:

      /firebase-rules:firestore Generate Firebase Security Rules using PROJECT ID PROJECT_ID

      প্যারেন্ট ডিরেক্টরিতে, এক্সটেনশনটি একটি firestore.rules ফাইল এবং একটি নতুন rules_test ডিরেক্টরি তৈরি করে যাতে একটি Node.js প্রকল্প থাকে যেখানে জেনারেট করা Security Rules এর জন্য ইউনিট পরীক্ষা থাকে।

    • Cloud Storage for Firebase জন্য Security Rules তৈরি করুন:

      /firebase-rules:storage Generate Firebase Security Rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME

      প্যারেন্ট ডিরেক্টরিতে, এক্সটেনশনটি একটি storage.rules ফাইল এবং একটি নতুন storage_rules_test ডিরেক্টরি তৈরি করে যাতে জেনারেট করা Security Rules এর জন্য ইউনিট পরীক্ষা সহ একটি Node.js প্রকল্প থাকে।

ধাপ ২ : Security Rules বৈধতা এবং পরীক্ষার ফলাফল পর্যালোচনা করুন

  1. আপনার AI সহকারী নিম্নলিখিত কাজগুলি করেছেন কিনা তা নিশ্চিত করুন। এক্সটেনশনটি চালানোর পরে আপনার একটি জেনারেট করা সারাংশ পাওয়া উচিত।

    • সিনট্যাক্স যাচাইকরণ : Security Rules তৈরি করার পর, Gemini CLI স্বয়ংক্রিয়ভাবে Firebase MCP সার্ভার থেকে firebase_validate_security_rules কমান্ড ব্যবহার করে সিনট্যাক্স যাচাই করে।

    • ইউনিট পরীক্ষা : সিনট্যাক্স যাচাই করার পর, Gemini CLI Firebase Local Emulator Suite ব্যবহার করে জেনারেট করা ইউনিট পরীক্ষা চালানোর চেষ্টা করে।

  2. যদি পরীক্ষাগুলি স্বয়ংক্রিয়ভাবে না চলে, তাহলে একটি পৃথক টার্মিনালে 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 ফলাফলে সন্তুষ্ট হলে, আপনার Firebase প্রকল্পে Security Rules স্থাপন করতে নিম্নলিখিত Firebase CLI কমান্ডগুলি ব্যবহার করুন:

  • Cloud Firestore

    firebase deploy --only firestore:rules
  • Cloud Storage for Firebase

    firebase deploy --only storage

অতিরিক্ত সম্পদ

  • আপনার নিরাপত্তার ক্ষেত্রে অতিরিক্ত সহায়তার জন্য, আপনি Gemini CLI এর জন্য নিরাপত্তা এক্সটেনশনটিও ব্যবহার করতে পারেন, এটি একটি ওপেন-সোর্স এক্সটেনশন যা সুরক্ষা ঝুঁকি এবং দুর্বলতা সনাক্ত করতে কোড পরিবর্তন বিশ্লেষণ করে।