適用於不同開發環境環境的一般安全性指南

本頁說明各種環境中最重要的安全性最佳做法,但如需有關安全性與 Firebase 的更詳細完整指引,請參閱「安全性檢查清單」。

試前環境的安全性

將環境區隔到不同的 Firebase 專案中,好處之一是惡意行為人即使能存取預先發布環境,也無法存取真實的使用者資料。以下是試前環境中最重要的安全防護措施:

  • 限制對前置生產環境的存取權。如果是行動應用程式,請使用 App Distribution (或類似工具) 將應用程式發布給特定使用者。網頁應用程式較難限制存取權,建議為預先發布環境設定封鎖功能,限制只有具備特定網域電子郵件地址的使用者才能存取。或者,如果您使用 Firebase Hosting,請設定預先發布工作流程,以使用臨時預覽網址

  • 如果環境不需要保留,且只供一人使用 (或在測試時只供一部機器使用),請使用 Firebase Local Emulator Suite。這些模擬器完全在本機執行,不需使用雲端資源,因此更安全快速。

  • 請務必在預先發布環境中設定 Firebase Security Rules,就像在正式環境中一樣。一般來說,各環境的 Security Rules 應相同,但請注意,由於規則會隨程式碼變更,管道中可能會有正式環境中尚未存在的規則。

正式環境的安全性

即使應用程式不明,實際工作環境資料也一律是目標。遵守這些規範並非萬無一失,但可提高惡意人士取得資料的難度:

  • 為所有支援App Check的產品啟用並強制執行這項功能。App Check確保對後端服務的要求來自正版應用程式。如要使用這項功能,您必須向 App Check 註冊應用程式的每個版本。建議您盡快設定,因為在有使用者之前設定會比較容易。

  • 撰寫穩健的 Firebase Security RulesRealtime DatabaseCloud FirestoreCloud Storage 都依賴開發人員設定的 Security Rules,強制規定哪些使用者可以存取資料,哪些使用者不行。撰寫良好的 Security Rules 對於確保安全至關重要。如果不確定如何操作,請先完成這項程式碼研究室

  • 如需正式環境安全性的更多建議,請參閱安全性檢查清單

後續步驟