این صفحه مهمترین بهترین شیوهها برای امنیت در محیطهای مختلف را شرح میدهد، اما برای راهنمایی دقیقتر و کاملتر در مورد امنیت و Firebase، چک لیست امنیتی را بررسی کنید.
امنیت برای محیطهای پیشتولید
یکی از مزایای جداسازی محیطها در پروژههای مختلف Firebase این است که یک عامل مخرب که بتواند به محیطهای پیشتولید شما دسترسی پیدا کند، نمیتواند به دادههای کاربر واقعی دسترسی پیدا کند. در اینجا مهمترین اقدامات احتیاطی امنیتی که باید برای محیطهای پیشتولید انجام شود، آورده شده است:
دسترسی به محیطهای پیشتولید را محدود کنید. برای برنامههای تلفن همراه، App Distribution (یا چیزی مشابه) برای توزیع برنامه به مجموعهای خاص از افراد استفاده کنید. محدود کردن برنامههای وب دشوارتر است؛ تنظیم یک تابع مسدودکننده برای محیطهای پیشتولید را در نظر بگیرید که دسترسی کاربرانی را که آدرسهای ایمیل مختص دامنه شما دارند، محدود کند. یا اگر از Firebase Hosting استفاده میکنید، گردشهای کاری پیشتولید خود را طوری تنظیم کنید که از URLهای پیشنمایش موقت استفاده کنند.
وقتی نیازی به نگهداری مداوم یک محیط نیست و فقط توسط یک نفر (یا در مورد آزمایشها، توسط یک دستگاه) استفاده میشود، از Firebase Local Emulator Suite استفاده کنید. این شبیهسازها ایمنتر و سریعتر هستند زیرا میتوانند به جای استفاده از منابع ابری، کاملاً روی localhost کار کنند.
مطمئن شوید که Firebase Security Rules را در محیطهای پیشتولید، درست مانند محیطهای تولید، تنظیم کردهاید. بهطورکلی، Security Rules باید در همه محیطها یکسان باشند، با این شرط که از آنجایی که قوانین با کد تغییر میکنند، ممکن است قوانینی در مراحل اولیه توسعه وجود داشته باشند که هنوز در محیط تولید وجود ندارند.
امنیت برای محیطهای تولید
دادههای عملیاتی همیشه هدف هستند، حتی اگر برنامه مبهم باشد. پیروی از این دستورالعملها دسترسی یک عامل مخرب به دادههای شما را غیرممکن نمیکند، اما آن را دشوارتر میکند:
App Check برای تمام محصولاتی که از آن پشتیبانی میکنند، فعال و اجرا کنید. App Check اطمینان حاصل میکند که درخواستهای ارسالی به سرویسهای backend شما از برنامههای اصلی شما میآیند. برای استفاده از آن، باید هر نسخه از برنامه خود را در App Check ثبت کنید. راهاندازی آن قبل از اینکه کاربران داشته باشید آسانتر است، بنابراین در اسرع وقت آن را راهاندازی کنید.
Firebase Security Rules بنویسید. Realtime Database ، Cloud Firestore و Cloud Storage همگی به Security Rules پیکربندی شده توسط توسعهدهنده متکی هستند تا مشخص کنند چه کسی باید و چه کسی نباید به دادهها دسترسی داشته باشد. برای امنیت شما ضروری است که Security Rules خوبی بنویسید. اگر مطمئن نیستید چگونه، با این codelab شروع کنید.
برای توصیههای بیشتر در مورد امنیت محیطهای عملیاتی ، چک لیست امنیتی را مرور کنید.
مراحل بعدی
- چک لیست راه اندازی Firebase را مرور کنید.