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 Database và Cloud 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 Firestore và Cloud 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 Rules và Firebase 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 Firestore và Cloud 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ữ và hành vi 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 Rules hoạt động và thiế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 Database và Cloud 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
- Hiểu ngôn ngữ Firebase Security Rules.
- Tìm hiểu thêm về cách hoạt động của Firebase Security Rules.
- Khám phá những sai lầm phổ biến bạn nên tránh.