پیام‌واره هوش مصنوعی: «قوانین امنیتی Firebase» را بنویس

این پیام‌واره می‌تواند به دستیار هوش مصنوعی شما (مثل Google Antigravity) کمک کند 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 مراجعه کنید.
  • توصیه می‌شود: اگر قبلاً این کار را نکرده‌اید، Antigravity را نصب کنید. دستورالعمل‌های زیر توضیح می‌دهد که چگونه مهارت‌های عامل Firebase و سرور MCP را فعال و از آن‌ها برای تولید Security Rules استفاده کنید. اگر ترجیح می‌دهید از عامل کدنویسی هوش مصنوعی دیگری استفاده کنید، می‌توانید پیام‌واره مربوط به Cloud Firestore یا Cloud Storage for Firebase را از مخزن firebase-tools کپی کنید و در عامل کدنویسی هوش مصنوعی انتخابی‌تان جای‌گذاری کنید.
  • مهارت‌های عامل Firebase و سرور MCP باهم کار می‌کنند تا به پیام‌واره‌هایی دسترسی پیدا کنند که Firebase Security Rules را تولید و درستی‌سنجی می‌کنند و به آزمایش و استقرار Security Rules کمک می‌کنند. قبل‌از استفاده از این ابزارها برای تولید Firebase Security Rules، سرور Firebase MCP را نصب کنید.

محدودیت‌ها

ما به‌طور فعال درحال بهبود این تجربه هستیم، بنابراین این فهرست محدودیت‌ها ممکن است تغییر کند. برای اطلاع از به‌روزرسانی‌ها مرتباً به اینجا سر بزنید.

  • این پیام‌واره برای تولید Firebase Security Rules برای Cloud Firestore و Cloud Storage for Firebase طراحی شده است. هنوز قادر به تولید Security Rules برای Firebase Realtime Database نیست.

  • Firebase Security Rules هنگام دسترسی به پایگاه داده یا حوزه‌تان از سرور یا محیط پس‌بست دیگر، مثلاً هنگام استفاده از Firebase Admin SDK، فراخوانده نمی‌شود. اگر از Admin SDK استفاده می‌کنید، مسئولیت مدیریت مجوز و اعتبارسنجی داده‌ها در کد پس‌بک با شما است.

  • ‫Gemini در Firebase در کنسول Firebase نمی‌تواند Firebase Security Rules را تولید کند، حتی وقتی از این پیام‌واره استفاده می‌شود. به‌جای آن، از دستیار هوش مصنوعی جایگزینی استفاده کنید که به پایگاه کد شما دسترسی دارد، مثل Antigravity (که در این صفحه شرح داده شده است).

استفاده کردن از پیام‌واره

این قابلیت هنگام استفاده از سرور Firebase MCP و مهارت‌های عامل Firebase با یک دستیار هوش مصنوعی سازگار (مانند Antigravity) برای تولید 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 را در پروژه Firebase خود مستقر کنید.

مرحله ۱: تولید Security Rules و آزمایش‌ها

ابزارها را راه‌اندازی و اجرا کنید:

  1. مهارت‌های عامل Firebase را فعال کنید:

    • Google Antigravity: برای نصب افزایه Firebase از «بازارگاه» Antigravity، به دستورالعمل‌های راه‌اندازی مراجعه کنید. همچنین می‌توانید مهارت‌ها را در سطح پروژه با اجرای این دستور نصب کنید:

      npx skills add firebase/agent-skills --agent=antigravity
    • سایر عامل‌های کدنویسی هوش مصنوعی: دستورالعمل‌های مربوط به مهارت‌های عامل و سرور MCP را دنبال کنید.

  2. دستیار هوش مصنوعی خود را راه‌اندازی کنید (برای مثال، agy را در پایانه خود برای رابط خط فرمان اجرا کنید، یا برنامه رایانه را باز کنید).

  3. از ریشه پروژه خود، از عامل بخواهید Security Rules را برای Cloud Firestore یا Cloud Storage براساس نحوه تعامل عامل کدنویسی هوش مصنوعی شما با پیام‌واره‌های MCP تولید کند:

    • برای عامل‌های کدنویسی که از زبان طبیعی استفاده می‌کنند (مانند Antigravity)، بااستفاده از زبان طبیعی به عامل پیام‌واره بدهید.

      • تولید کردن Security Rules برای Cloud Firestore:

        Generate Firestore security rules for this project, then run the unit tests.
        

        در دایرکتوری والد، عامل یک فایل firestore.rules و یک دایرکتوری security_rules_test_firestore جدید ایجاد می‌کند که حاوی پروژه Node.js با آزمون‌های واحد برای Security Rules تولیدشده است.

      • تولید Security Rules برای Cloud Storage for Firebase:

        Generate Cloud Storage security rules for this project, then run the unit tests.
        

        در دایرکتوری والد، عامل یک فایل storage.rules و یک دایرکتوری security_rules_test_storage جدید ایجاد می‌کند که حاوی یک پروژه Node.js با آزمون‌های واحد برای Security Rules تولیدشده است.

    • برای عامل‌های کدنویسی که از فرمان‌های خط مورب پشتیبانی می‌کنند (مثل Claude Code)، از فرمان‌های زیر استفاده کنید.

      • تولید کردن Security Rules برای Cloud Firestore:

        /firestore:generate_security_rules
        
      • تولید کردن Security Rules برای Cloud Storage for Firebase:

        /storage:generate_security_rules
        
    • برای عامل‌های کدنویسی که از ادغام پیام‌واره MCP پشتیبانی نمی‌کنند، می‌توانید الگوی پیام‌واره خام را از مخزن firebase-tools کپی کنید و آن را در گپ عامل جای‌گذاری کنید.

      • تولید Security Rules با Cloud Firestore: پیام‌واره را از Cloud Firestore کپی کنید.
      • تولید Security Rules برای Cloud Storage for Firebase: پیام‌واره را از Cloud Storage for Firebase کپی کنید.

مرحله ۲: نتایج آزمایش و اعتبارسنجی Security Rules را مرور کنید

  1. مطمئن شوید که موارد زیر توسط نماینده کدنویسی هوش مصنوعی شما انجام شده باشد. پس‌از اجرای ابزارها، باید خلاصه تولیدشده‌ای دریافت کنید.

    • درستی‌سنجی دستورگان: پس‌از تولید Security Rules، عامل کدنویسی هوش مصنوعی شما به‌طور خودکار دستورگان را بااستفاده از فرمان firebase_validate_security_rules از سرور Firebase MCP درستی‌سنجی می‌کند.

    • آزمایش‌های واحد: پس‌از اعتبارسنجی نحو، عامل کدنویسی هوش مصنوعی شما تلاش می‌کند آزمایش‌های واحد تولیدشده را بااستفاده از Firebase Local Emulator Suite اجرا کند.

  2. اگر آزمایش‌ها به‌طور خودکار اجرا نشد، Firebase Local Emulator Suite را در پایانه جداگانه‌ای شروع کنید، سپس از یکی از گزینه‌های زیر برای اجرای آزمایش‌ها استفاده کنید:

    • گزینه ۱: به دستیار هوش مصنوعی خود دستور دهید تا آزمایش‌ها را اجرا کند:

      Firebase Emulator Suite is running in a separate terminal. Please execute the tests.
      
    • گزینه ۲: با دنبال کردن دستورالعمل‌های موجود در فایل README.md در دایرکتوری rules_test یا storage_rules_test، آزمایش‌ها را به‌صورت دستی اجرا کنید.

مرحله ۳: استقرار Security Rules در پروژه Firebase

وقتی از نتیجه Security Rules تولیدشده راضی بودید، از فرمان‌های CLI Firebase زیر برای استقرار Security Rules در پروژه Firebase خود استفاده کنید:

  • Cloud Firestore

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

    firebase deploy --only storage