دستورالعمل های امنیتی عمومی برای محیط های مختلف گردش کار توسعه
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
این صفحه مهمترین بهترین روشها را برای امنیت در همه محیطها شرح میدهد، اما برای راهنمایی دقیقتر و کاملتر در مورد امنیت و Firebase ، چک لیست امنیتی را مرور کنید.
امنیت برای محیط های پیش تولید
یکی از مزایای جداسازی محیطها در پروژههای مختلف Firebase این است که یک عامل مخرب که میتواند به محیطهای پیش از تولید شما دسترسی داشته باشد، نمیتواند به دادههای واقعی کاربر دسترسی داشته باشد. در اینجا مهمترین اقدامات احتیاطی امنیتی برای محیط های پیش از تولید آورده شده است:
دسترسی به محیط های قبل از تولید را محدود کنید. برای برنامه های تلفن همراه، از App Distribution (یا چیزی شبیه به آن) برای توزیع یک برنامه بین مجموعه خاصی از افراد استفاده کنید. محدود کردن برنامه های وب سخت تر است. در نظر بگیرید که یک عملکرد مسدود کننده برای محیط های پیش از تولید ایجاد کنید که دسترسی به کاربران با آدرس های ایمیل خاص دامنه شما را محدود می کند. یا، اگر از Firebase Hosting استفاده میکنید، گردشهای کاری پیش از تولید خود را برای استفاده از URLهای پیشنمایش موقت تنظیم کنید.
هنگامی که یک محیط نیازی به تداوم ندارد و فقط توسط یک نفر (یا در مورد آزمایشات، توسط یک ماشین) استفاده می شود Firebase Local Emulator Suite استفاده کنید. این شبیهسازها ایمنتر و سریعتر هستند، زیرا میتوانند بهجای استفاده از منابع ابری، بهطور کامل روی لوکال هاست کار کنند.
اطمینان حاصل کنید که Firebase Security Rules در محیط های پیش از تولید تنظیم کرده اید، درست همانطور که در نسخه تولیدی انجام می دهید. به طور کلی، Rules باید در همه محیطها یکسان باشند، با این اخطار که از آنجایی که قوانین با کد تغییر میکنند، ممکن است قوانینی در مراحل اولیه وجود داشته باشد که هنوز در مرحله تولید وجود نداشته باشد.
امنیت برای محیط های تولید
داده های تولید همیشه یک هدف است، حتی اگر برنامه مبهم باشد. پیروی از این دستورالعملها دریافت اطلاعات شما را برای یک بازیگر مخرب غیرممکن نمیکند، اما کار را دشوارتر میکند:
برای همه محصولاتی که استفاده میکنید و از آن پشتیبانی میکنند App Check فعال و اجرا کنید. App Check مطمئن میشود که درخواستهای سرویسهای پشتیبان شما از برنامههای اصلی شما میآیند. برای استفاده از آن، باید هر نسخه از برنامه خود را با App Check ثبت کنید. قبل از اینکه کاربر داشته باشید تنظیم آن آسان تر است، بنابراین در اسرع وقت آن را تنظیم کنید.
Firebase Security Rules قوی بنویسید. Realtime Database ، Cloud Firestore ، و Cloud Storage همگی به Rules پیکربندی شده توسط توسعهدهندگان برای اعمال افرادی که باید و نباید قادر به دسترسی به دادهها باشند متکی هستند. برای امنیت شما ضروری است که Rules خوبی بنویسید. اگر مطمئن نیستید که چگونه، با این کد لبه شروع کنید.
برای توصیه های بیشتر در مورد امنیت برای محیط های تولید، چک لیست امنیتی را مرور کنید.
مراحل بعدی
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی."],[],[],null,["This page describes the most important best practices for security across\nenvironments, but review the\n[*Security checklist*](/support/guides/security-checklist) for more detailed and\nthorough guidance about security and Firebase.\n\nSecurity for pre-production environments\n\nOne benefit of separating environments in different Firebase projects is that a\nmalicious actor who is able to access your pre-prod environments won't be able\naccess real user data. Here are the most important security precautions to take\nfor pre-production environments:\n\n- Limit access to pre-prod environments. For mobile apps, use\n [App Distribution](/docs/app-distribution) (or something similar) to distribute\n an app to a specific set of people. Web applications are harder to restrict;\n consider setting up a\n [blocking function](https://cloud.google.com/identity-platform/docs/blocking-functions)\n for the pre-prod environments that restricts access to users with email\n addresses that are specific to your domain. Or, if you're using\n Firebase Hosting, set up your pre-prod workflows to use\n [temporary preview URLs](/docs/hosting/test-preview-deploy).\n\n- When an environment doesn't need to be persisted and is only being used by one\n person (or in the case of tests, by one machine) use the\n [Firebase Local Emulator Suite](/docs/emulator-suite). These emulators are safer\n and faster because they can work entirely on localhost instead of using cloud\n resources.\n\n- Make sure that you have [Firebase Security Rules](/docs/rules) set up in pre-production\n environments, just as you do in prod. In general, the Rules should\n be the same across environments, with the caveat that since rules change with\n code, there may be rules earlier in the pipeline that don't yet exist in\n production.\n\nSecurity for production environments\n\nProduction data is always a target, even if the app is obscure. Following these\nguidelines doesn't make it impossible for a malicious actor to get your data,\nbut it makes it more difficult:\n\n- Enable and enforce [App Check](/docs/app-check) for all the products\n you're using that support it. App Check makes sure that requests to your\n backend services are coming from your genuine apps. In order to use it, you\n need to register each version of your app with App Check. It's easier to\n set up before you have users, so set it up as soon as possible.\n\n- Write robust [Firebase Security Rules](/docs/rules). Realtime Database, Cloud Firestore, and\n Cloud Storage all rely on developer-configured Rules to\n enforce who should and shouldn't be able to access data. It's essential to\n your security that you write good Rules. If you're not sure how,\n start with this [codelab](/codelabs/firebase-rules).\n\n- Review the [*Security checklist*](/support/guides/security-checklist) for more\n recommendations about security for production environments.\n\nNext steps\n\n- Review the [Firebase launch checklist](/support/guides/launch-checklist)."]]