針對不同開發工作流程環境的通用安全指南

本頁面介紹了跨環境的最重要的安全性最佳實踐,但請查看安全檢查表以獲取有關安全性和 Firebase 的更詳細和全面的指南。

預生產環境的安全性

在不同 Firebase 專案中分離環境的好處之一是,能夠存取您的預生產環境的惡意行為者將無法存取真實的使用者資料。以下是預生產環境中需要採取的最重要的安全預防措施:

  • 限制對預生產環境的存取。對於行動應用程序,使用應用程式分發(或類似的東西)將應用程式分發給特定的一組人。 Web 應用程式更難限制;考慮為預生產環境設定封鎖功能,限制使用特定於您的網域的電子郵件地址的使用者的存取。或者,如果您使用 Firebase Hosting,請將預生產工作流程設定為使用臨時預覽 URL

  • 當環境不需要持久化且僅由一個人使用(或在測試情況下由一台機器使用)時,請使用Firebase 本機模擬器套件。這些模擬器更安全、更快,因為它們可以完全在本地主機上工作,而不是使用雲端資源。

  • 確保您在預生產環境中設定了Firebase 安全規則,就像在生產環境中一樣。一般來說,不同環境中的規則應該是相同的,但需要注意的是,由於規則隨代碼而變化,因此管道中較早的規則可能在生產中尚不存在。

生產環境的安全

即使應用程式晦澀難懂,生產數據始終是目標。遵循這些準則並不會讓惡意行為者無法取得您的數據,但會使其變得更加困難:

  • 為您正在使用的所有支援它的產品啟用並強制執行應用程式檢查。應用程式檢查可確保對後端服務的請求來自您的正版應用程式。為了使用它,您需要使用 App Check 註冊應用程式的每個版本。在擁有用戶之前設定起來更容易,因此請盡快設定。

  • 編寫強大的Firebase 安全規則。即時資料庫、Cloud Firestore 和 Cloud Storage 都依賴開發人員配置的規則來強制誰應該和不應該能夠存取資料。編寫良好的規則對於您的安全至關重要。如果您不確定如何操作,請從此Codelab開始。

  • 查看安全檢查表以取得更多有關生產環境安全性的建議。

下一步