簡體   English   中英

Firebase firstore 雲函數的安全規則

[英]Firebase firstore security rules for cloud functions

我目前正在設置一個 dialogflow 機器人(用於常見問題解答和聯系方式),並且正在使用谷歌雲功能(nodejs)在 firebase firestore 中完成實現/數據存儲。

顯然我想要安全規則,將對數據庫的訪問限制為僅對話流。 誰能指出我將如何去做的正確方向?

我發現的例子都是檢查數據庫中存儲的東西,這對我來說不起作用..?

僅當您的移動客戶端(Android、iOS、Web)直接訪問 Firestore、Cloud Storage 或實時數據庫中的某些數據時,安全規則才有意義。 它還適用於來自 REST API 的未經身份驗證的訪問。 來自后端的任何其他訪問,包括您可能為 dialogflow fulfillment hook 編寫的代碼,不受安全規則的約束。 也就是說,后台通過admin SDK訪問這些資源完全忽略了安全規則。

如果您只打算從后端訪問這些產品,只需讓您的安全規則禁止從移動客戶端進行公共訪問即可。

我在安全規則中添加了選項來檢查請求是否來自用戶,我用它來驗證雲功能中對實時數據庫的請求,如下所示:

{
  "rules": {
    ".read": "auth != null && auth.token.email.matches(/^firebase-adminsdk-[xxx]@[project-name].iam.gserviceaccount.com$/)",
    ".write": "auth != null && auth.token.email.matches(/^firebase-adminsdk-[xxx]@[project-name].iam.gserviceaccount.com$/)"
  }
}

您可以使用規則測試器來驗證來自其他用戶的經過身份驗證的請求是否會被拒絕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM