درخواست هوش مصنوعی: نوشتن قوانین امنیتی فایربیس

این اعلان می‌تواند به دستیار هوش مصنوعی شما (مانند Google Antigravity ) کمک کند تا Firebase Security Rules برای برنامه شما ایجاد و اصلاح کند. می‌توانید از این اعلان برای تهیه پیش‌نویس Security Rules برای موارد استفاده رایج، مانند اعطای دسترسی خاص به کاربر، پیاده‌سازی مجوزهای مبتنی بر نقش و اعتبارسنجی داده‌ها استفاده کنید.

این دستورالعمل بر ایجاد Security Rules برای موارد زیر تمرکز دارد:

  • Cloud Firestore : مجموعه‌ها و اسناد را بر اساس منطق برنامه خود ایمن کنید.
  • Cloud Storage for Firebase : مجوزهای دسترسی برای فایل‌های ذخیره شده خود را اعتبارسنجی کنید.

Using this prompt can help you get started with a strong security posture, but you should always test your Security Rules thoroughly before deploying to production. For more information about testing Security Rules , review 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 integration 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 به دستورالعمل‌های راه‌اندازی مراجعه کنید. اگر از CLI استفاده می‌کنید، می‌توانید با اجرای دستور زیر مهارت‌ها را فعال کنید:

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

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

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

    • برای عامل‌های کدنویسی که از زبان طبیعی استفاده می‌کنند (مانند 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 prompt پشتیبانی نمی‌کنند ، می‌توانید الگوی خام prompt را از مخزن 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 اجرا کنید.

مرحله 3 : Security Rules در پروژه Firebase خود اعمال کنید

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

  • Cloud Firestore

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

    firebase deploy --only storage