قوانین امنیتی Firebase

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

قوانین امنیتی Firebase بین داده های شما و کاربران مخرب قرار دارد. شما می توانید قوانین ساده یا پیچیده ای بنویسید که داده های برنامه شما را تا سطح دانه دانه مورد نیاز برنامه خاص شما محافظت کند.

قوانین امنیتی Firebase از زبانهای پیکربندی قابل انعطاف پذیری قابل ارتقا استفاده می کند تا مشخص کند کاربران شما می توانند برای پایگاه داده در زمان واقعی ، Cloud Firestore و Cloud Storage به چه اطلاعاتی دسترسی داشته باشند. Firebase پایگاه داده Realtime قوانین از JSON در تعاریف قانون استفاده می کند ، در حالی که Cloud Firestore Security Security and Firebase Security Rules for Cloud Storage از یک زبان منحصر به فرد برای سازگاری با ساختارهای پیچیده تر مخصوص قوانین استفاده می کند.

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

قابلیت های کلیدی

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

چطورکار می کنند؟

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

برای Cloud Firestore و Cloud Storage ، قوانین از نحو زیر استفاده می کنند:

service <<name>> {
  // Match the resource path.
  match <<path>> {
    // Allow the request if the following conditions are true.
    allow <<methods>> : if <<condition>>
  }
}

برای پایگاه داده بیدرنگ ، قوانین مبتنی بر JSON از نحو زیر استفاده می کنند:

{
  "rules": {
    "<<path>>": {
    // Allow the request if the condition for each method is true.
      ".read": <<condition>>,
      ".write": <<condition>>
    }
  }
}

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

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

مسیر پیاده سازی

SDK های محصول را ادغام کنید تنظیم ابر Firestore ، ابر ذخیره سازی ، و یا پایگاه بیدرنگ برای برنامه شما.
قوانین امنیتی Firebase خود را بنویسید اطلاعات بیشتر در مورد نحوه کار قوانین و راه اندازی برخی از قوانین اساسی
قوانین امنیتی Firebase خود را آزمایش کنید برای آزمایش رفتار برنامه و اعتبارسنجی قوانین خود قبل از اینکه آنها را برای تولید استفاده کنید ، از پایگاه داده Realtime و شبیه سازهای Cloud Firestore استفاده کنید.
قوانین امنیتی Firebase خود را اعمال کنید برای اجرای قوانین خود در تولید ، از کنسول Firebase یا Firebase CLI استفاده کنید.

مراحل بعدی