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

本頁面說明各環境中最重要的安全性最佳做法,但請參閱安全性檢查清單,取得更詳細、更全面的安全性與 Firebase 指南。

試產環境的安全性

在不同 Firebase 專案中區隔環境的好處之一,是惡意行為人即使能存取預先正式環境,也無法存取實際使用者資料。以下是試產環境中最重要的安全防範措施:

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

  • 如果環境不需要保留,且只有一人使用 (或在測試情況下,由一部機器使用),請使用 Firebase Local Emulator Suite。這些模擬器更安全、更快速,因為它們可以完全在本機主機上運作,而不使用雲端資源。

  • 請務必在試產環境中設定 Firebase Security Rules,就像在正式環境中一樣。一般來說,Security Rules 在不同環境中應保持一致,但請注意,由於規則會隨著程式碼變更,因此管道中可能會有尚未存在於正式環境中的規則。

正式環境的安全性

即使應用程式不顯眼,實際工作環境資料仍會是攻擊目標。遵循這些規範不代表惡意行為人無法取得您的資料,但會增加難度:

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

  • 編寫穩健的 Firebase Security Rules。Realtime Database、Cloud Firestore 和 Cloud Storage 都仰賴開發人員設定的 Security Rules,強制規定哪些人可以存取資料,哪些人不能。為了確保安全性,請務必編寫良好的 Security Rules。如果不確定該怎麼做,請先參閱這個程式碼實驗室。

  • 請參閱安全性檢查清單,進一步瞭解正式環境的安全性建議。

後續步驟