Trang này cung cấp các phương pháp hay nhất chung và cấp cao để thiết lập dự án Firebase và đăng ký ứng dụng của bạn với một dự án để bạn có một quy trình phát triển rõ ràng sử dụng các môi trường riêng biệt. Sau khi bạn nắm rõ các phương pháp hay nhất trên trang này, hãy xem các nguyên tắc chung về bảo mật của chúng tôi.
Tìm hiểu về hệ thống phân cấp của các dự án Firebase
Sơ đồ này cho thấy hệ phân cấp cơ bản của một dự án Firebase. Sau đây là các mối quan hệ chính:
Dự án Firebase giống như một vùng chứa cho tất cả ứng dụng của bạn và mọi tài nguyên cũng như dịch vụ được cung cấp cho dự án.
Một dự án Firebase có thể có một hoặc nhiều Ứng dụng Firebase được đăng ký với dự án đó (ví dụ: cả phiên bản iOS và Android của một ứng dụng, hoặc cả phiên bản miễn phí và có tính phí của một ứng dụng).
Tất cả Ứng dụng Firebase đã đăng ký cùng một dự án Firebase đều chia sẻ và có quyền truy cập vào tất cả các tài nguyên và dịch vụ giống nhau được cung cấp cho dự án đó. Dưới đây là một số ví dụ:
Tất cả Ứng dụng Firebase đã đăng ký cùng một dự án Firebase đều dùng chung các dịch vụ phụ trợ, chẳng hạn như Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage và Cloud Functions.
Tất cả Ứng dụng Firebase đã đăng ký cùng một dự án Firebase đều được liên kết với cùng một tài sản Google Analytics, trong đó mỗi Ứng dụng Firebase là một luồng dữ liệu riêng biệt trong tài sản đó.
Dự án Google Cloud nằm ở đâu trong hệ thống phân cấp này?
Một khía cạnh của hệ thống phân cấp dự án Firebase không xuất hiện trong sơ đồ ở trên là mối quan hệ với dự án Google Cloud. Một dự án Firebase thực chất chỉ là một dự án Google Cloud có thêm các cấu hình và dịch vụ dành riêng cho Firebase được bật cho dự án đó. Xin lưu ý rằng tất cả ứng dụng đã đăng ký cùng một dự án Firebase cũng chia sẻ và có quyền truy cập vào tất cả các tài nguyên và dịch vụ Google Cloud tương tự.
Tìm hiểu thêm về mối quan hệ giữa Firebase và Google Cloud trong bài viết Tìm hiểu về các dự án Firebase
Đăng ký các biến thể ứng dụng với dự án Firebase
Sau đây là một số mẹo quan trọng để đăng ký các biến thể ứng dụng của bạn với một dự án Firebase:
Đảm bảo rằng tất cả ứng dụng đã đăng ký vào một dự án Firebase đều là các biến thể nền tảng của cùng một ứng dụng theo góc độ người dùng cuối. Đăng ký các phiên bản iOS, Android và web của cùng một ứng dụng hoặc trò chơi bằng cùng một dự án Firebase.
Nếu bạn có nhiều biến thể bản dựng có thể dùng chung các tài nguyên Firebase, hãy đăng ký các biến thể đó bằng cùng một dự án Firebase. Một số ví dụ là một blog và một ứng dụng web trong cùng một dự án, hoặc cả phiên bản miễn phí và phiên bản trả phí của cùng một ứng dụng trong cùng một dự án.
Nếu bạn có nhiều biến thể bản dựng dựa trên trạng thái phát hành (thay vì dựa trên hoạt động hoặc quyền truy cập phổ biến của người dùng cuối, như ở trên), hãy đăng ký từng biến thể bằng một dự án Firebase riêng biệt. Ví dụ: bản gỡ lỗi so với bản phát hành – hãy đăng ký từng bản dựng này trong dự án Firebase riêng.
Các bản dựng dựa trên trạng thái phát hành không được dùng chung các tài nguyên Firebase vì điều đó có nguy cơ khiến dữ liệu gỡ lỗi của bạn làm hỏng hoặc thậm chí ghi đè dữ liệu sản xuất.
Các biến thể nền tảng của từng biến thể bản dựng này phải nằm trong cùng một dự án Firebase . Ví dụ: đăng ký cả bản gỡ lỗi iOS và Android trong một dự án Firebase "dev" vì cả hai đều có thể tương tác với cùng một dữ liệu và tài nguyên không phải là dữ liệu và tài nguyên sản xuất.
Tránh nhiều đối tượng thuê
Nhiều đối tượng thuê có thể dẫn đến các vấn đề nghiêm trọng về cấu hình và quyền riêng tư đối với dữ liệu, bao gồm cả các vấn đề không mong muốn với việc tổng hợp số liệu phân tích, xác thực dùng chung, cấu trúc cơ sở dữ liệu quá phức tạp và khó khăn với các quy tắc bảo mật.
Thông thường, nếu một nhóm ứng dụng không dùng chung dữ liệu và cấu hình, hãy cân nhắc việc đăng ký từng ứng dụng bằng một dự án Firebase riêng.
Ví dụ: nếu bạn phát triển một ứng dụng nhãn trắng, thì mỗi ứng dụng được gắn nhãn độc lập phải có dự án Firebase riêng và các phiên bản iOS và Android của nhãn đó phải nằm trong cùng một dự án Firebase. Mỗi ứng dụng được gắn nhãn độc lập không được chia sẻ dữ liệu với các ứng dụng khác (vì lý do quyền riêng tư).
Các bước tiếp theo
Xem nguyên tắc bảo mật chung cho các môi trường khác nhau. Bạn cần đảm bảo từng môi trường và dữ liệu của môi trường đó đều an toàn.