Nguyên tắc bảo mật chung cho nhiều môi trường quy trình phát triển

Trang này mô tả các phương pháp hay nhất quan trọng nhất để bảo mật trên các môi trường, nhưng hãy xem Danh sách kiểm tra bảo mật để biết hướng dẫn chi tiết và kỹ lưỡng hơn về bảo mật và Firebase.

Bảo mật cho môi trường tiền sản xuất

Một lợi ích của việc tách các môi trường trong các dự án Firebase khác nhau là một tác nhân độc hại có thể truy cập vào môi trường tiền sản xuất của bạn sẽ không thể truy cập vào dữ liệu người dùng thực. Sau đây là những biện pháp phòng ngừa bảo mật quan trọng nhất cần thực hiện cho môi trường tiền sản xuất:

  • Hạn chế quyền truy cập vào các môi trường tiền sản xuất. Đối với ứng dụng di động, hãy sử dụng App Distribution (hoặc một mã tương tự) để phân phối ứng dụng cho một nhóm người cụ thể. Khó hạn chế các ứng dụng web hơn; hãy cân nhắc thiết lập chức năng chặn cho các môi trường tiền sản xuất để hạn chế quyền truy cập đối với những người dùng có địa chỉ email dành riêng cho miền của bạn. Hoặc nếu bạn đang sử dụng Firebase Hosting, hãy thiết lập quy trình làm việc trước khi phát hành công khai để sử dụng URL xem trước tạm thời.

  • Khi một môi trường không cần được duy trì và chỉ được một người sử dụng (hoặc trong trường hợp kiểm thử, chỉ được một máy sử dụng), hãy dùng Firebase Local Emulator Suite. Các trình mô phỏng này an toàn và nhanh hơn vì có thể hoạt động hoàn toàn trên máy chủ lưu trữ cục bộ thay vì sử dụng tài nguyên trên đám mây.

  • Đảm bảo bạn đã thiết lập Firebase Security Rules trong môi trường tiền sản xuất, giống như trong môi trường sản xuất. Nhìn chung, Security Rules phải giống nhau trên các môi trường, với lưu ý rằng vì các quy tắc thay đổi theo mã, nên có thể có các quy tắc trước đó trong quy trình chưa tồn tại trong môi trường sản xuất.

Bảo mật cho môi trường thực tế

Dữ liệu sản xuất luôn là mục tiêu, ngay cả khi ứng dụng bị che khuất. Việc tuân thủ các nguyên tắc này không ngăn chặn hoàn toàn kẻ xấu lấy dữ liệu của bạn, nhưng sẽ khiến việc này trở nên khó khăn hơn:

  • Bật và thực thi App Check cho tất cả các sản phẩm mà bạn đang sử dụng có hỗ trợ tính năng này. App Check đảm bảo rằng các yêu cầu gửi đến dịch vụ phụ trợ của bạn đến từ các ứng dụng chính thống của bạn. Để sử dụng tính năng này, bạn cần đăng ký từng phiên bản ứng dụng của mình bằng App Check. Bạn nên thiết lập trước khi có người dùng để có thể thiết lập càng sớm càng tốt.

  • Viết Firebase Security Rules mạnh mẽ. Realtime Database, Cloud FirestoreCloud Storage đều dựa vào Security Rules do nhà phát triển định cấu hình để thực thi những người nên và không nên có quyền truy cập vào dữ liệu. Việc viết Security Rules hiệu quả là điều cần thiết để đảm bảo an toàn cho bạn. Nếu bạn chưa biết cách, hãy bắt đầu với lớp học lập trình này.

  • Hãy xem Danh sách kiểm tra bảo mật để biết thêm các đề xuất về bảo mật cho môi trường phát hành công khai.

Các bước tiếp theo