Câu lệnh này có thể giúp trợ lý AI (chẳng hạn như Gemini CLI) tạo và tinh chỉnh Firebase Security Rules cho ứng dụng của bạn. Bạn có thể dùng câu lệnh này để soạn thảo Security Rules cho các trường hợp sử dụng phổ biến, chẳng hạn như cấp quyền truy cập dành riêng cho người dùng, triển khai các quyền dựa trên vai trò và xác thực dữ liệu.
Câu lệnh này tập trung vào việc tạo Security Rules cho:
- Cloud Firestore: Bảo mật các bộ sưu tập và tài liệu dựa trên logic của ứng dụng.
- Cloud Storage for Firebase: Xác thực quyền truy cập vào các tệp bạn đã lưu trữ.
Việc sử dụng lời nhắc này có thể giúp bạn bắt đầu với một trạng thái bảo mật mạnh mẽ, nhưng bạn luôn phải kiểm tra kỹ lưỡng Security Rules trước khi triển khai cho hoạt động sản xuất. Để biết thêm thông tin về việc kiểm thử Security Rules, hãy xem bài viết Bắt đầu dùng Firebase Security Rules: Kiểm thử Security Rules.
Điều kiện tiên quyết
- Làm quen với Firebase Security Rulescác phương pháp hay nhất.
- Để chạy kiểm thử đơn vị cho Firebase Security Rules và sử dụng Firebase Local Emulator Suite, hãy cài đặt Node.js và CLI Firebase. Để xem hướng dẫn đầy đủ, hãy tham khảo bài viết Cài đặt, định cấu hình và tích hợp Firebase Local Emulator Suite.
- Nên dùng: Nếu chưa cài đặt, hãy cài đặt Gemini CLI. Hướng dẫn sau đây giải thích cách cài đặt và sử dụng tiện ích Gemini CLI để tạo Security Rules. Nếu muốn dùng một trợ lý AI khác, bạn có thể sao chép và dán câu lệnh từ kho lưu trữ của tiện ích vào trợ lý AI mà bạn chọn.
- Tiện ích Gemini CLI này sử dụng máy chủ Firebase MCP để xác thực Firebase Security Rules mà tiện ích này tạo. Bạn cũng có thể dùng máy chủ MCP để kiểm thử và triển khai Security Rules dễ dàng hơn. Cài đặt máy chủ MCP Firebase trước khi sử dụng tiện ích để tạo Firebase Security Rules.
Hạn chế
Chúng tôi đang tích cực cải thiện trải nghiệm này, vì vậy, danh sách các hạn chế này có thể thay đổi. Hãy thường xuyên kiểm tra lại để nắm được thông tin cập nhật.
Câu lệnh này được thiết kế để tạo Firebase Security Rules cho Cloud Firestore và Cloud Storage for Firebase. Công cụ này chưa thể tạo Security Rules cho Firebase Realtime Database.
Firebase Security Rules sẽ không được gọi khi truy cập vào cơ sở dữ liệu hoặc vùng chứa của bạn từ một máy chủ hoặc môi trường phụ trợ khác, chẳng hạn như khi sử dụng Firebase Admin SDK. Nếu đang sử dụng Admin SDK, bạn phải chịu trách nhiệm quản lý việc uỷ quyền và xác thực dữ liệu trong mã phụ trợ.
Gemini trong Firebase trong bảng điều khiển Firebase không thể tạo Firebase Security Rules, ngay cả khi bạn dùng câu lệnh này. Thay vào đó, hãy sử dụng một trợ lý AI thay thế có quyền truy cập vào cơ sở mã của bạn, chẳng hạn như Gemini CLI (được mô tả trên trang này).
Sử dụng câu lệnh
Bạn có thể dùng lời nhắc này trong tiện ích Gemini CLI cho Firebase Security Rules để tạo Security Rules và các bài kiểm thử. Tiện ích này phân tích mã nguồn của bạn để giúp xác định các giản đồ dữ liệu và mẫu truy cập cho Cloud Firestore và Cloud Storage. Công cụ này được thiết kế để tạo bản nháp Security Rules dựa trên nguyên tắc về đặc quyền tối thiểu và cố gắng phát hiện các lỗ hổng thông qua các hoạt động mô phỏng "tấn công" lặp đi lặp lại. Để hỗ trợ quy trình xác minh cuối cùng, bộ thử nghiệm này cung cấp một bộ thử nghiệm đơn vị khởi động bằng @firebase/rules-unit-testing, cho phép bạn xác minh logic bảo mật của mình tại chỗ bằng Firebase Local Emulator Suite.
Để sử dụng tiện ích này, bạn cần thực hiện 3 bước được mô tả trong phần này:
Bước 1: Tạo Security Rules và các bài kiểm thử
Cài đặt và chạy tiện ích:
Cài đặt tiện ích Gemini CLI:
gemini extensions install https://github.com/firebase/snippets-rulesBắt đầu từ Gemini CLI:
geminiTừ thư mục gốc của dự án, hãy chạy tiện ích để tạo Security Rules cho Cloud Firestore hoặc Cloud Storage:
Tạo Security Rules cho Cloud Firestore:
/firebase-rules:firestore Generate Firebase Security Rules using PROJECT ID PROJECT_IDTrong thư mục mẹ, tiện ích này sẽ tạo một tệp
firestore.rulesvà một thư mụcrules_testmới chứa dự án Node.js có các bài kiểm thử đơn vị cho Security Rules đã tạo.Tạo Security Rules cho Cloud Storage for Firebase:
/firebase-rules:storage Generate Firebase Security Rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAMETrong thư mục mẹ, tiện ích sẽ tạo một tệp
storage.rulesvà một thư mụcstorage_rules_testmới chứa dự án Node.js có các kiểm thử đơn vị cho Security Rules đã tạo.
Bước 2: Xem xét kết quả xác thực và kiểm thử Security Rules
Đảm bảo trợ lý AI của bạn thực hiện những việc sau. Bạn sẽ nhận được bản tóm tắt được tạo sau khi tiện ích chạy.
Xác thực cú pháp: Sau khi tạo Security Rules, Gemini CLI sẽ tự động xác thực cú pháp bằng lệnh
firebase_validate_security_rulestừ máy chủ Firebase MCP.Kiểm thử đơn vị: Sau khi xác thực cú pháp, Gemini CLI sẽ cố gắng chạy các kiểm thử đơn vị đã tạo bằng cách sử dụng Firebase Local Emulator Suite.
Nếu các kiểm thử không chạy tự động, hãy khởi động Firebase Local Emulator Suite trong một thiết bị đầu cuối riêng biệt, sau đó sử dụng một trong các lựa chọn sau để chạy các kiểm thử:
Lựa chọn 1: Hướng dẫn Gemini CLI chạy các kiểm thử:
Firebase Emulator Suite is running in a separate terminal. Please execute the tests.Cách 2: Chạy thử nghiệm theo cách thủ công bằng cách làm theo hướng dẫn trong tệp
README.mdtrong thư mụcrules_testhoặcstorage_rules_test.
Bước 3: Triển khai Security Rules vào dự án Firebase của bạn
Khi bạn hài lòng với kết quả của Security Rules đã tạo, hãy sử dụng các lệnh CLI Firebase sau đây để triển khai Security Rules cho dự án Firebase của bạn:
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage for Firebase
firebase deploy --only storage
Tài nguyên khác
- Để được trợ giúp thêm về khả năng bảo mật, bạn cũng có thể sử dụng tiện ích bảo mật cho Gemini CLI, một tiện ích nguồn mở phân tích các thay đổi về mã để xác định các rủi ro bảo mật và lỗ hổng.