Firebase Security Rules

Sử dụng các Quy tắc bảo mật Firebase linh hoạt và có thể mở rộng để bảo mật dữ liệu của bạn trong Cloud Firestore, Firebase Realtime DatabaseCloud Storage.

Firebase Security Rules đứng giữa dữ liệu của bạn và người dùng độc hại. Bạn có thể viết mã đơn giản hoặc để bảo vệ dữ liệu ứng dụng của bạn đến mức độ chi tiết mà mà ứng dụng cụ thể của bạn yêu cầu.

Đòn bẩy Firebase Security Rules ngôn ngữ cấu hình linh hoạt, dễ mở rộng để xác định loại dữ liệu mà người dùng của bạn có thể truy cập cho Realtime Database, Cloud FirestoreCloud Storage. Firebase Realtime Database Security Rules tận dụng JSON trong các định nghĩa quy tắc, trong khi Cloud Firestore Security RulesFirebase Security Rules cho Cloud Storage tận dụng một giá trị duy nhất được thiết kế để phù hợp với các cấu trúc phức tạp hơn liên quan đến các quy tắc cụ thể.

Tìm hiểu thêm về cách thiết lập Rules cho các sản phẩm cụ thể trong Firebase bạn sử dụng trong ứng dụng của mình và hành vi của Rules khác nhau như thế nào trên Firebase của Google dành cho doanh nghiệp.

Các chức năng chính

Tính linh hoạt Viết các quy tắc tuỳ chỉnh phù hợp với cấu trúc và hành vi của ứng dụng. Rules sử dụng các ngôn ngữ giúp bạn tận dụng dữ liệu của riêng mình để cho phép truy cập.
Độ chi tiết Quy tắc của bạn có thể rộng hoặc hẹp tuỳ theo nhu cầu.
Cấp bảo mật độc lập Do Rules được định nghĩa ở bên ngoài ứng dụng của bạn (trong bảng điều khiển Firebase hoặc Firebase CLI), khách hàng không chịu trách nhiệm thực thi tính bảo mật, các lỗi không ảnh hưởng đến dữ liệu, và dữ liệu của bạn luôn được bảo vệ.

Quảng cáo này hoạt động như thế nào?

Firebase Security Rules hoạt động bằng cách so khớp một mẫu với đường dẫn cơ sở dữ liệu, sau đó áp dụng các điều kiện tuỳ chỉnh để cho phép truy cập vào dữ liệu tại các đường dẫn đó. Tất cả Rules trên các sản phẩm của Firebase có thành phần phù hợp đường dẫn và cho phép truy cập đọc hoặc ghi. Bạn phải xác định Rules cho từng sản phẩm Firebase bạn sử dụng trong ứng dụng của mình.

Đối với Cloud FirestoreCloud Storage, Rules hãy sử dụng hàm sau đây cú pháp:

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

Đối với Realtime Database, Rules dựa trên JSON sử dụng cú pháp sau:

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

Rules được áp dụng dưới dạng câu lệnh OR chứ không phải câu lệnh AND. Do đó, nếu nhiều quy tắc phù hợp với một đường dẫn và bất kỳ quy tắc nào phù hợp điều kiện nào cấp quyền truy cập, Rules cấp quyền truy cập vào dữ liệu tại đó đường dẫn. Do đó, nếu một quy tắc rộng cấp quyền truy cập vào dữ liệu, bạn không thể hạn chế bằng một quy tắc cụ thể hơn. Tuy nhiên, bạn có thể tránh vấn đề này bằng cách đảm bảo Rules không trùng lặp quá nhiều. Firebase Security Rules cờ trùng lặp trong đường dẫn phù hợp làm cảnh báo của trình biên dịch.

Firebase Security Rules cũng có thể tận dụng Authentication để cấp quyền dựa trên người dùng, và mà bạn thiết lập có thể rất cơ bản hoặc cực kỳ phức tạp. Tìm hiểu thêm về ngôn ngữhành vi của Rules trước khi bắt đầu viết Rules.

Lộ trình triển khai

Tích hợp các SDK sản phẩm Thiết lập Cloud Firestore, Cloud Storage hoặc Realtime Database cho .
Ghi Firebase Security Rules của bạn Tìm hiểu thêm về cách hoạt động của Rulesthiết lập một số Rules cơ bản
Kiểm tra Firebase Security Rules của bạn Sử dụng trình mô phỏng Realtime DatabaseCloud Firestore để kiểm thử tính năng và xác thực các quy tắc trước khi triển khai áp dụng vào thực tế.
Triển khai Firebase Security Rules Sử dụng bảng điều khiển Firebase hoặc CLI Firebase để triển khai các quy tắc của bạn sang phát hành công khai.

Các bước tiếp theo