Xác thực nhanh các quy tắc bảo mật của Firebase

Để nhanh chóng kiểm thử Firebase Security Rules đã cập nhật trong bảng điều khiển Firebase, hãy sử dụng Sân chơi quy tắc.

Rules Playground là một công cụ thuận tiện để sử dụng khi bạn khám phá các hành vi mới hoặc nhanh chóng xác thực các quy tắc khi bạn viết chúng. Thông báo này sẽ xác nhận rằng quyền truy cập đã được cho phép hoặc bị từ chối theo các thông số mà bạn đặt cho hoạt động mô phỏng.

Sử dụng Sân chơi quy tắc

  1. Mở Firebase console rồi chọn dự án của bạn.
  2. Sau đó, trong trình đơn điều hướng sản phẩm, hãy thực hiện một trong những thao tác sau:
    • Chọn Realtime Database, Cloud Firestore hoặc Bộ nhớ (nếu có), sau đó nhấp vào Quy tắc để chuyển đến trình chỉnh sửa Rules.
  3. Sau khi chỉnh sửa, hãy nhấp vào Rules Playground (Sân chơi quy tắc) trong trình chỉnh sửa.
  4. Trong phần cài đặt Sân chơi quy tắc, hãy chọn các lựa chọn cho thử nghiệm của bạn, bao gồm:
    • Kiểm thử lượt đọc hoặc ghi.
    • Một Vị trí cụ thể trong cơ sở dữ liệu hoặc vùng lưu trữ của bạn, dưới dạng một đường dẫn.
    • Loại xác thực – người dùng ẩn danh chưa xác thực, người dùng ẩn danh đã xác thực hoặc một mã nhận dạng người dùng cụ thể.
    • Dữ liệu dành riêng cho tài liệu mà các quy tắc của bạn tham chiếu cụ thể (ví dụ: nếu các quy tắc của bạn yêu cầu phải có một trường cụ thể trước khi cho phép ghi).
  5. Nhấp vào Chạy và xem kết quả trong biểu ngữ phía trên trình chỉnh sửa.

Trường hợp mẫu về Rules Playground

Kiểm thử hành vi của Rules Playground bằng tình huống mẫu và các quy tắc cơ bản sau.

Cloud Firestore

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

Realtime Database

 // These rules grant access to a node matching the authenticated
 // user's ID from the Firebase auth token
 {
   "rules": {
     "users": {
       "$uid": {
         ".read": "$uid === auth.uid",
         ".write": "$uid === auth.uid"
       }
     }
   }
 }
 

Cloud Storage

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/file.txt"
    match /user/{userId}/{fileName} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • Trong trình chỉnh sửa Rules, hãy thêm quy tắc đã cho.

  • Chọn get trong trình đơn thả xuống Simulation type (Loại mô phỏng) rồi nhập một đường dẫn hợp lệ vào trường Location (Vị trí).

  • Bật Xác thực rồi chọn một loại xác thực trong trình đơn thả xuống Nhà cung cấp.

  • Nhập thông tin chi tiết về mã nhận dạng người dùng rồi nhấp vào Chạy.

Kết quả mô phỏng sẽ xuất hiện ở đầu trình chỉnh sửa. Tuỳ thuộc vào thông tin chi tiết về mã nhận dạng người dùng mà bạn đã nhập, bạn sẽ thấy một biểu ngữ xác nhận rằng yêu cầu đọc đã được cho phép hoặc bị từ chối.