Firebase Security Rules
Hãy sử dụng Firebase Security Rules (Quy tắc bảo mật của Firebase) linh hoạt và có thể mở rộng của chúng tôi để bảo mật dữ liệu 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 các quy tắc đơn giản hoặc phức tạp để bảo vệ dữ liệu của ứng dụng ở mức độ chi tiết mà ứng dụng cụ thể của bạn yêu cầu.
Firebase Security Rules tận dụng các ngôn ngữ cấu hình linh hoạt và có thể mở rộng để xác định dữ liệu mà người dùng 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 ngôn ngữ duy nhất được xây dựng để phù hợp với các cấu trúc phức tạp hơn dành riêng cho quy tắc.
Tìm hiểu thêm về cách thiết lập Security Rules cho các sản phẩm cụ thể của Firebase mà bạn sử dụng trong ứng dụng và cách hoạt động của Security Rules khác nhau giữa các sản phẩm của Firebase.
Các tính 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. Security Rules sử dụng các ngôn ngữ cho phé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 | Các quy tắc có thể rộng hoặc hẹp tuỳ theo nhu cầu của bạn. |
| Bảo mật độc lập | Vì Security Rules được xác định bên ngoài ứng dụng (trong bảng điều khiển Firebase hoặc Firebase CLI), nên máy khách không chịu trách nhiệm thực thi bảo mật, lỗi không làm ảnh hưởng đến dữ liệu và dữ liệu của bạn luôn được bảo vệ. |
Các quy tắc 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 các đườ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ả Security Rules trên các sản phẩm của Firebase đều có thành phần so khớp đường dẫn và câu lệnh có điều kiện cho phép truy cập để đọc hoặc ghi. Bạn phải xác định Security Rules cho từng sản phẩm của Firebase mà bạn sử dụng trong ứng dụng.
Đối với Cloud Firestore và Cloud Storage, Security Rules sử dụng cú pháp sau:
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, Security 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>>
}
}
}
Security Rules được áp dụng dưới dạng câu lệnh OR, không phải câu lệnh AND.
Do đó, nếu nhiều quy tắc khớp với một đường dẫn và bất kỳ điều kiện nào được so khớp
đều cấp quyền truy cập, thì Security Rules sẽ cấp quyền truy cập vào dữ liệu tại đường dẫn đó. Vì vậy, nếu một quy tắc rộng cấp quyền truy cập vào dữ liệu, thì 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
Security Rules không chồng chéo quá nhiều. Firebase Security Rules gắn cờ các trường hợp chồng chéo trong các
đường dẫn được so khớp dưới dạng 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à các điều kiện bạn đặt có thể rất cơ bản hoặc vô cùng phức tạp. Tìm hiểu thêm về Security Rules ngôn ngữ và hành vi trước khi bạn bắt đầu viết Security Rules.
Quy trình triển khai
| Tích hợp SDK sản phẩm | Thiết lập Cloud Firestore, Cloud Storage hoặc Realtime Database cho ứng dụng của bạn. | |
| Viết Firebase Security Rules | Tìm hiểu thêm về cách Security Rules hoạt động và thiết lập một số Security Rules cơ bản | |
| Kiểm thử Firebase Security Rules | Sử dụng trình mô phỏng Realtime Database và Cloud Firestore để kiểm thử hành vi của ứng dụng và xác thực các quy tắc trước khi triển khai các quy tắc đó vào môi trường thực tế. | |
| Triển khai Firebase Security Rules | Sử dụng bảng điều khiển Firebase hoặc Firebase CLI để triển khai các quy tắc vào môi trường thực tế. |
Các bước tiếp theo
- Tìm hiểu ngôn ngữ Firebase Security Rules.
- Tìm hiểu thêm về cách Firebase Security Rules hoạt động.
- Khám phá những lỗi thường gặp mà bạn nên tránh.