با قوانین امنیتی Firebase شروع کنید

قوانین امنیتی Firebase حفاظت قوی و کاملاً قابل تنظیم برای داده های شما در Cloud Firestore، پایگاه داده بیدرنگ و Cloud Storage ارائه می دهد. به راحتی می توانید با پیروی از مراحل این راهنما، قوانین را شروع کنید، داده های خود را ایمن کنید و از برنامه خود در برابر کاربران مخرب محافظت کنید.

زبان Firebase Security Rules را بدانید

قبل از شروع نوشتن قوانین، ارزش آن را دارد که کمی زمان بگذارید و زبان قوانین امنیتی Firebase را برای محصولات Firebase که استفاده می کنید مرور کنید. پایگاه داده بیدرنگ از یک دستور زبان جاوا اسکریپت و ساختار JSON برای قوانین خود استفاده می کند. متناوباً، Cloud Firestore و Cloud Storage از ابرمجموعه‌ای از زبان Common Expression (CEL) استفاده می‌کنند که به match متکی است و به عباراتی allow که شرطی را برای دسترسی در یک مسیر تعریف‌شده تعیین کنند.

درباره زبان قوانین امنیتی Firebase بیشتر بیاموزید.

احراز هویت را تنظیم کنید

اگر قبلاً این کار را انجام نداده‌اید، کاربران خود را با Firebase Authentication شناسایی کنید. Firebase Authentication از بسیاری از روش‌های رایج احراز هویت پشتیبانی می‌کند و با قوانین امنیتی Firebase یکپارچه می‌شود تا قابلیت‌های تأیید جامع را ارائه دهد.

می توانید اطلاعات اضافی و سفارشی احراز هویت را برای برنامه خود تنظیم کنید.

درباره قوانین امنیتی Firebase و احراز هویت Firebase بیشتر بیاموزید.

ساختار داده ها و قوانین خود را تعریف کنید

نحوه ساختار داده های خود ممکن است بر نحوه ساختار و اجرای قوانین شما تأثیر بگذارد. همانطور که ساختارهای داده خود را تعریف می کنید، پیامدهایی که ممکن است بر ساختار قوانین شما داشته باشند را در نظر بگیرید.

به عنوان مثال، در Cloud Firestore، ممکن است بخواهید فیلدی را اضافه کنید که نقش خاصی را برای هر کاربر نشان می دهد. سپس، قوانین شما می توانند آن فیلد را بخوانند و از آن برای اعطای دسترسی مبتنی بر نقش استفاده کنند.

همانطور که معماری داده ها و قوانین خود را تعریف می کنید، به خاطر داشته باشید که اگر قوانینی به یک مجموعه داده دسترسی داشته باشند، Firebase Security Rules به آن مجموعه داده دسترسی می دهد. به عبارت دیگر، اگر به سطح بالاتری در سلسله مراتب داده خود دسترسی داشته باشید، نمی توانید دسترسی را در یک مسیر فرعی اصلاح کنید.

به قوانین خود دسترسی داشته باشید

برای مشاهده قوانین موجود خود، از Firebase CLI یا کنسول Firebase استفاده کنید. مطمئن شوید که قوانین خود را با استفاده از روش یکسان و به طور مداوم ویرایش می کنید تا از بازنویسی اشتباه به روز رسانی ها جلوگیری کنید. اگر مطمئن نیستید که آیا قوانین تعریف شده محلی شما جدیدترین به‌روزرسانی‌ها را منعکس می‌کنند یا خیر، کنسول Firebase همیشه آخرین نسخه اجرا شده از قوانین امنیتی Firebase شما را نشان می‌دهد.

برای دسترسی به قوانین خود از کنسول Firebase ، پروژه خود را انتخاب کنید، سپس به پایگاه داده بیدرنگ ، Cloud Firestore یا Storage بروید. هنگامی که در پایگاه داده یا سطل ذخیره سازی صحیح قرار گرفتید روی Rules کلیک کنید.

برای دسترسی به قوانین خود از Firebase CLI، به فایل قوانین ذکر شده در فایل firebase.json خود بروید.

قوانین اساسی را بنویسید

همانطور که در حال توسعه برنامه خود هستید و قوانین را درک می کنید، چند قانون اساسی امنیتی را اجرا کنید، از جمله موارد استفاده زیر:

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

قوانین خود را آزمایش کنید

برای تأیید کامل رفتار برنامه و تأیید قوانین امنیتی Firebase
تنظیمات، از شبیه ساز Firebase برای اجرا و خودکارسازی تست های واحد در یک محیط محلی استفاده کنید.

اگر قوانین امنیتی Firebase خود را در کنسول Firebase تنظیم می کنید، می توانید از شبیه ساز قوانین Firebase برای تأیید سریع رفتار استفاده کنید. با این حال، ما توصیه می کنیم قبل از اعمال تغییرات خود در تولید، آزمایش کامل تری با شبیه ساز Firebase انجام دهید.

استقرار قوانین

از کنسول Firebase یا Firebase CLI برای استقرار قوانین خود در تولید استفاده کنید. مراحل ذکر شده در مدیریت و استقرار قوانین امنیتی Firebase را دنبال کنید.