Google is committed to advancing racial equity for Black communities. See how.
این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

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

با استفاده از قوانین امنیتی Cloud Firestore ، می توانید بدون نیاز به مدیریت زیرساخت ها یا نوشتن احراز هویت و کد مجوز سمت سرور ، روی ساختن یک تجربه کاربری عالی تمرکز کنید.

قوانین امنیتی کنترل دسترسی و اعتبارسنجی داده ها را با فرمت ساده اما رسا ارائه می دهند. برای ساختن سیستم های دسترسی مبتنی بر کاربر و نقش مبتنی بر کاربر که اطلاعات کاربران شما را ایمن نگه می دارند ، باید با استفاده از قوانین امنیتی Cloud Firestore ، از تأیید اعتبار Firebase استفاده کنید.

قوانین امنیتی نسخه 2

از ماه مه 2019 ، نسخه 2 از قوانین امنیتی Cloud Firestore اکنون در دسترس است. نسخه 2 این قوانین باعث تغییر رفتار کارتهای بازگشتی می شود {name=**} . اگر قصد استفاده از نمایش داده شد گروه مجموعه ، باید از نسخه 2 استفاده کنید. شما باید با ساخت rules_version = '2'; به نسخه 2 انتخاب کنید rules_version = '2'; اولین خط در قوانین امنیتی شما:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {

قوانین نوشتن

کلیه قوانین امنیتی Cloud Firestore شامل عبارات match است که اسناد موجود در پایگاه داده شما را شناسایی می کند و allow عباراتی را کنترل کنید که دسترسی به آن اسناد را کنترل می کند:

service cloud.firestore {
  match /databases/{database}/documents {
    match /<some_path>/ {
      allow read, write: if <some_condition>;
    }
  }
}

قبل از خواندن یا نوشتن هر داده ، هر درخواست بانک اطلاعاتی از یک کتابخانه مشتری / وب Cloud Firestore در برابر قوانین امنیتی شما ارزیابی می شود. اگر قوانین دسترسی به هر یک از مسیرهای سند مشخص شده را سلب کنند ، کل درخواست انجام نشد.

در زیر چند نمونه از مجموعه های قانون اساسی آورده شده است. در حالی که این قوانین معتبر هستند ، آنها برای برنامه های تولید توصیه نمی شوند:

لازم است نویسنده

// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

انکار همه

// Deny read/write access to all users under any conditions
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

اجازه همه

// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

مسیر {document=**} used استفاده شده در مثالهای فوق با هر سندی در کل پایگاه داده مطابقت دارد. در ادامه به راهنمای ساختن قوانین امنیتی برای یادگیری نحوه مطابقت با مسیرهای داده خاص و کار با داده های سلسله مراتبی ادامه دهید.

قوانین آزمایش

Cloud Firestore یک شبیه ساز قوانینی را ارائه می دهد که می توانید برای تست قوانین خود استفاده کنید. شما می توانید از تب قاعده در بخش Cloud Firestore کنسول Firebase به شبیه ساز دسترسی داشته باشید.

شبیه ساز قوانین به شما امکان می دهد تا خواندن ، نوشتن و حذف های معتبر و غیر مجاز را شبیه سازی کنید. هنگامی که یک درخواست تأیید شده را شبیه سازی می کنید ، می توانید علائم تأیید اعتبار را از ارائه دهندگان مختلف بسازید و پیش نمایش دهید. درخواست های شبیه سازی شده در خلاف مقررات در ویرایشگر شما اجرا می شوند ، نه مقررات مستقر در حال حاضر.

اجرای قوانین

قبل از شروع استفاده از Cloud Firestore از برنامه تلفن همراه خود ، باید قوانین امنیتی را مستقر کنید. می توانید قوانین را در کنسول Firebase یا با استفاده از Firebase CLI مستقر کنید.

به روزرسانی در قوانین امنیتی Cloud Firestore می تواند تا یک دقیقه طول بکشد تا روی نمایش داده شدگان و شنوندگان جدید تأثیر بگذارد. با این حال ، انتشار تبلیغات کامل و تأثیر آن بر هر شنونده فعال ، می تواند 10 دقیقه زمان ببرد.

از کنسول Firebase استفاده کنید

برای تنظیم و استفاده از اولین مجموعه قوانین خود ، در قسمت Cloud Firestore کنسول Firebase ، برگه Rules را باز کنید .

قوانین خود را در ویرایشگر آنلاین بنویسید ، سپس روی انتشار کلیک کنید.

از Firebase CLI استفاده کنید

همچنین می توانید با استفاده از Firebase CLI قوانینی را به کار بگیرید. استفاده از CLI به شما امکان می دهد قوانین خود را با كد برنامه خود تحت كنترل نسخه نگه دارید و قوانین را به عنوان بخشی از روند استقرار موجود خود مستقر كنید.

// Set up Firestore in your project directory, creates a .rules file
firebase init firestore

// Edit the generated .rules file to your desired security rules
// ...

// Deploy your .rules file
firebase deploy --only firestore:rules

مراحل بعدی