傳統上,安全性是應用程式開發中最複雜的部分之一。在大多數應用程式中,開發人員必須建構並執行伺服器,以處理驗證 (使用者身分) 和授權 (使用者可執行的操作)。驗證和授權機制不僅難以設定,更難以正確執行,但對產品的成功至關重要。
Firebase Authentication 可讓您輕鬆驗證使用者,Cloud Storage 的 Firebase Security Rules 則可讓您輕鬆授權使用者及驗證要求。Cloud Storage Security Rules 可讓您指定路徑權限,簡化管理作業。只要幾行程式碼,就能編寫授權規則,限制 Cloud Storage 要求特定使用者,或限制上傳大小。
Firebase Realtime Database 也有類似的功能,稱為 Firebase Realtime Database Security Rules
AI 輔助功能的 AI 提示
如需 AI 輔助,請將下方提示詞複製到 AI 程式設計代理 (例如 Android Studio 內建 Gemini、Antigravity、Claude Code、Codex 和 Cursor)。您可以自訂提示,並與代理反覆調整。如需詳細安裝資訊,請參閱 Firebase 代理技能。
Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me write, validate, and deploy Firebase Security Rules to protect my app's Cloud Storage data.
驗證
瞭解使用者是建構應用程式的重要環節,而 Firebase Authentication 提供易於使用、安全的用戶端驗證解決方案。Firebase Security Rules 的 Cloud Storage 與 Firebase Authentication 連結,用於使用者安全性。使用者透過 Firebase Authentication 驗證身分後,Cloud Storage Security Rules 中的 request.auth 變數會成為包含使用者專屬 ID (request.auth.uid) 的物件,以及權杖 (request.auth.token) 中的所有其他使用者資訊。如果使用者未經驗證,request.auth 則為 null。這樣一來,您就能安全地控管每位使用者的資料存取權。詳情請參閱「驗證」一節。
授權
辨識使用者只是安全性的一環。確認身分後,您需要控管他們在 Cloud Storage 中存取檔案的方式。
Cloud Storage 可讓您指定每個檔案和路徑的授權規則,這些規則會儲存在我們的伺服器上,並決定應用程式中檔案的存取權。舉例來說,預設的 Cloud Storage Security Rules 需要 Firebase Authentication,才能對所有檔案執行任何 read 或 write 作業:
service firebase.storage { match /b/{bucket}/o { match /someFolder/{fileName} { allow read, write: if request.auth != null; } } }
如要編輯這些 Security Rules,請前往 Firebase 控制台,然後依序點選「Databases & Storage」(資料庫和儲存空間) >「Storage」(儲存空間) >「Rules」(規則) 分頁標籤。
資料驗證
Firebase Security Rules for Cloud Storage 也可以用於資料驗證,包括驗證檔案名稱和路徑,以及檔案中繼資料屬性,例如 contentType 和 size。
service firebase.storage { match /b/{bucket}/o { match /images/{imageId} { // Only allow uploads of any image file that's less than 5MB allow write: if request.resource.size < 5 * 1024 * 1024 && request.resource.contentType.matches('image/.*'); } } }
後續步驟
使用 VPC Service Controls 實施縱深防禦
您可以使用 VPC Service Controls,透過安全 perimeter 保護整個專案。相較於 Cloud Storage Security Rules 提供的精細存取控管,這種做法更為全面。
Firebase 安全性規則和 VPC Service Controls 搭配運作:安全性規則處理授權 (誰可以存取哪個檔案),VPC Service Controls 則提供網路層級保護 (防止資料離開授權環境)。這種分層做法是保護企業機密資料的最佳做法。