چک لیست راه اندازی Firebase

این سند شامل چک لیستی از بهترین شیوه‌ها و ملاحظات قبل از راه‌اندازی یک برنامه Firebase در محیط عملیاتی است.

بهترین شیوه‌های عمومی برای انتشار

  • قبل از انتشار در محیط عملیاتی، مطمئن شوید که تمام تغییرات خود را در Firebase Local Emulator Suite (برای محصولات پشتیبانی‌شده) آزمایش کرده‌اید. آزمایش کامل می‌تواند به جلوگیری از اشتباهات پرهزینه کمک کند.

  • شروع به اجرای Firebase App Check برای هر سرویسی که از آن پشتیبانی می‌کند، کنید. App Check کمک می‌کند تا مطمئن شوید که فقط برنامه‌های واقعی شما می‌توانند به سرویس‌ها و منابع backend شما دسترسی داشته باشند.

  • چک لیست امنیتی عمومی فایربیس را مرور کنید.

  • از رول‌اوت‌های Firebase Remote Config برای انتشار ایمن و تدریجی ویژگی‌ها و به‌روزرسانی‌های جدید برای برنامه خود استفاده کنید.

  • اگر هنوز این کار را نکرده‌اید، نصب Firebase Crashlytics را در نظر بگیرید. این یک گزارش‌دهنده‌ی خرابی سبک و بلادرنگ است که به شما کمک می‌کند مشکلات پایداری را که کیفیت برنامه شما را کاهش می‌دهند، ردیابی، اولویت‌بندی و برطرف کنید.

محدودیت‌های طرح قیمت‌گذاری خود را بشناسید و هشدارهای بودجه تنظیم کنید

  • مطمئن شوید که پس از ورود به مرحله تولید، به محدودیت‌ها و سهمیه‌های استفاده برخورد نمی‌کنید، به خصوص اگر از طرح رایگان Spark استفاده می‌کنید. ارتقا به طرح قیمت‌گذاری Pay-as-you-go Blaze را در نظر بگیرید.

  • هشدارهای بودجه را برای پروژه خود تنظیم کنید.

    • توجه داشته باشید که هشدارهای بودجه، سقف بودجه نیستند . وقتی به آستانه‌ی تعیین‌شده نزدیک می‌شوید یا از آن عبور می‌کنید، یک هشدار برای شما ارسال می‌شود تا بتوانید در برنامه یا پروژه‌ی خود اقدامی انجام دهید.

    • تنظیم هشدارها و اقدامات پیشرفته ، مانند توابعی که در پاسخ به هشدارها، صدور صورتحساب را غیرفعال می‌کنند، را در نظر بگیرید.

    • اگر از Firebase AI Logic ، App Hosting ، Cloud Functions for Firebase یا Firebase Extensions استفاده می‌کنید، اکیداً توصیه می‌کنیم که سقف بودجه را نیز تنظیم کنید ، که در صورت تجاوز پروژه شما از بودجه تعیین شده برای آن سرویس، سرویس مربوطه را متوقف می‌کند.

  • میزان مصرف خود را در داشبوردهای مخصوص محصول یا در داشبورد مرکزی «مصرف و پرداخت» در کنسول Firebase نظارت کنید.

مطمئن شوید که پروژه‌ها و برنامه‌های Firebase شما از بهترین شیوه‌ها پیروی می‌کنند

چه یک توسعه‌دهنده‌ی تنها باشید و چه یک تیم در مقیاس سازمانی، مهم است که مطمئن شوید پروژه‌ها، برنامه‌ها و منابع Firebase شما محافظت‌شده و ایمن هستند و می‌توانند با تغییرات در تیم شما تکامل یابند.

یادآوری این نکته مفید است که یک پروژه Firebase در واقع فقط یک پروژه Google Cloud است که سرویس‌ها و پیکربندی‌های Firebase برای آن فعال شده‌اند. این بدان معناست که بسیاری از بهترین شیوه‌هایی که Google Cloud توصیه می‌کند، برای Firebase نیز قابل اجرا هستند.

  • از پروژه‌های مختلف Firebase برای توسعه، آزمایش و تولید استفاده کنید.

    سعی کنید مواجهه غیرمنتظره با پروژه مرتبط با برنامه تولیدی خود را محدود کنید. درباره تنظیم گردش‌های کاری توسعه بیشتر بدانید.

  • از پروژه‌های مهم خود، به ویژه پروژه‌های مرتبط با برنامه‌ی کاربردی‌تان، محافظت کنید.

    • از حق وثیقه پروژه برای محافظت در برابر حذف تصادفی پروژه استفاده کنید.

    • برای شناسایی آسان‌تر محیط تولید خود، یک برچسب "Prod" در کنسول Firebase اعمال کنید.

  • اگر هنوز این کار را نکرده‌اید، راه‌اندازی یک سازمان Google Cloud و اضافه کردن پروژه‌های Firebase خود به آن را در نظر بگیرید.

  • بیش از یک مالک به پروژه‌های Firebase خود اضافه کنید، به خصوص اگر پروژه شما در یک سازمان Google Cloud نیست . درباره زمان و نحوه تعیین مالک برای یک پروژه Firebase بیشتر بدانید.

  • اعضای پروژه (معروف به "اصول") را به جای تک تک، به صورت گروه‌های گوگل اضافه کنید.

    استفاده از گروه‌ها، تخصیص نقش‌ها به اعضای تیم به صورت گروهی و همچنین مدیریت دسترسی افراد به پروژه Firebase شما را آسان‌تر می‌کند، به خصوص اگر اعضای تیم تغییر شغل دهند یا تیم را ترک کنند.

  • به هر عضو پروژه (معروف به "principle") سطح دسترسی مناسب به پروژه‌ها و منابع Firebase خود را اعطا کنید. برای اطلاعات بیشتر به مدیریت دسترسی به پروژه با Firebase IAM مراجعه کنید.

  • مطمئن شوید که هر عضو پروژه مربوطه (معروف به "principle") تنظیمات خود را برای دریافت هشدارها در مورد محصولات خاص یا وضعیت پروژه (مانند تغییرات طرح صورتحساب یا محدودیت‌های سهمیه) تنظیم کرده است. برای اطلاعات بیشتر به بخش دریافت هشدارهای Firebase مراجعه کنید.

    همچنین می‌توانید به صورت اختیاری «مخاطبین ضروری» پروژه خود را سفارشی کنید اگر می‌خواهید اعضای خاص یا اضافی پروژه اعلان‌ها را دریافت کنند. این امر به ویژه برای اطمینان از اینکه علاوه بر مالک پروژه، افراد بیشتری در مورد تغییرات صورتحساب، قانونی و محصول اعلان دریافت می‌کنند، مفید است.

  • کلیدهای API فایربیس خود را فقط به APIهایی محدود کنید که باید در فهرست مجاز API آن کلید باشند. همچنین، اطلاعات مربوط به کلیدهای API را در چک لیست امنیتی فایربیس بررسی کنید.

سرویس‌های خاصی که در برنامه شما استفاده می‌شوند را آماده کنید

هر محصول و خدماتی که در برنامه شما استفاده می‌شود، ممکن است هنگام استفاده در محیط عملیاتی، ملاحظات خاصی داشته باشد.

منطق هوش مصنوعی فایربیس

Google Analytics

App Check

  • مطمئن شوید که شناسه تیم شما در تنظیمات پروژه کنسول Firebase صحیح است.

  • اگر هنوز این کار را نکرده‌اید، شروع به اعمال Firebase App Check برای هر سرویسی که از آن پشتیبانی می‌کند، کنید. App Check کمک می‌کند تا مطمئن شوید که فقط برنامه‌های واقعی شما می‌توانند به سرویس‌ها و منابع backend شما دسترسی داشته باشند.

Authentication

  • هر ارائه‌دهنده‌ای را که استفاده نمی‌کنید (به‌ویژه احراز هویت ناشناس) غیرفعال کنید.

  • اگر برنامه شما از ورود با گوگل استفاده می‌کند، صفحه رضایت OAuth خود را شخصی‌سازی کنید.

  • دامنه و فرستنده خود را برای سرویس ارسال ایمیل Authentication سفارشی کنید.

  • اگر از سرویس‌های تأیید پیامکی Identity Platform استفاده می‌کنید، اجرای Firebase App Check را شروع کنید و یک سیاست منطقه پیامکی پیکربندی کنید تا از برنامه خود در برابر سوءاستفاده از پیامک محافظت کنید.

  • پیاده‌سازی مدیریت خطا در پلتفرم‌های اپل برای خطاهای رایج Authentication .

  • یک هش SHA-1 برای گواهی امضای برنامه خود در تنظیمات پروژه کنسول Firebase اضافه کنید. اگر برنامه شما از ورود با شماره تلفن یا ورود با گوگل (که نیاز به کلاینت OAuth دارد) استفاده می‌کند، هش SHA-1 مورد نیاز است.

  • برای جلوگیری از استفاده غیرمجاز، کنترل دسترسی را برای دامنه‌های خود اضافه کنید. به طور خاص، در بخش Authentication کنسول Firebase ، دسترسی به دامنه اصلی خود را مجاز کنید (این امر به ویژه در صورتی که از محصولاتی استفاده می‌کنید که به Firebase Security Rules متکی هستند، بسیار مهم است).

Cloud Firestore

  • Cloud Firestore Security Rules خود را پیکربندی کنید تا از دسترسی ناخواسته به داده‌ها جلوگیری شود.

  • از ProGuard برای کاهش حجم کد در نسخه آزمایشی خود استفاده کنید. بدون ProGuard، SDK مربوط به Cloud Firestore و وابستگی‌های آن می‌تواند حجم APK شما را افزایش دهد.

Cloud Messaging

  • فعال کردن امکان ارسال داده‌های Cloud Messaging به BigQuery را در نظر بگیرید تا بتوانید داده‌های خود را با BigQuery SQL تجزیه و تحلیل کنید یا داده‌ها را برای استفاده با ابزارهای خودتان صادر کنید.

  • کلید تأیید APNS خود را برای Cloud Messaging در برنامه‌های اپل در کنسول Firebase آپلود کنید. در صورت استفاده از گواهی‌های APNS، مطمئن شوید که گواهی APNS نسخه اصلی شما آپلود شده است.

Cloud Storage

  • Cloud Storage Security Rules خود را پیکربندی کنید تا از دسترسی ناخواسته به داده‌ها جلوگیری شود.

Crashlytics

Firebase ML

Performance Monitoring

  • مطمئن شوید که هر عضو پروژه مربوطه (معروف به "principle") تنظیمات خود را برای دریافت هشدارهای مربوط به Performance Monitoring یا وضعیت پروژه (مانند تغییرات طرح صورتحساب یا محدودیت‌های سهمیه) تنظیم کرده است. برای اطلاعات بیشتر به بخش دریافت هشدارهای Firebase مراجعه کنید.

  • فعال کردن امکان ارسال داده‌های Performance Monitoring به BigQuery را در نظر بگیرید تا بتوانید داده‌های خود را با BigQuery SQL تجزیه و تحلیل کنید یا داده‌ها را برای استفاده با ابزارهای خودتان صادر کنید.

Realtime Database

  • Realtime Database Security Rules خود را پیکربندی کنید تا از دسترسی ناخواسته به داده‌ها جلوگیری شود.

  • مطمئن شوید که برای مقیاس‌پذیری آماده هستید. Realtime Database سهمیه پیش‌فرضی دارد که برای اکثر برنامه‌ها به اندازه کافی بزرگ است، اما برخی از برنامه‌ها ممکن است به ظرفیت اضافی نیاز داشته باشند.

  • قوانین proguard خود را برای کار با Realtime Database پیکربندی کنید.

Remote Config

  • مطمئن شوید که هیچ یک از قوانین آزمایشی Remote Config بر کاربران نسخه آزمایشی شما تأثیری نداشته باشد و پیش‌فرض‌های مناسب سرور و درون‌برنامه در برنامه شما توزیع شده باشند.