簡體   English   中英

如何將規則應用於服務帳戶 Firebase

[英]How to apply rules to service account Firebase

如何將 Cloud-Firestore 規則應用於服務帳戶? 就像來自 java admin API 形成與數據庫的連接的唯一方法是使用繞過所有規則的服務帳戶。 我錯過了什么沒有任何意義? 或者是否有一些不同的方法可以在不使用這樣的服務帳戶的情況下形成與數據庫的連接

FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(ServiceAccount.json))
.setDatabaseUrl("DataBaseURL")
.build();

FirebaseApp.initializeApp(options);

我想把它添加到一個開源項目中,這樣每個人都可以完全訪問數據庫是不理想的。 所以我希望規則適用但我不知道如何? 如果您只能使用服務帳戶。

如果無法將規則應用於服務帳戶,那么我如何在沒有服務帳戶的情況下建立連接? 如果那也不可能那么規則的意義何在

編輯:無法將規則應用於服務帳戶,這在 java-Admin 中也是一種恥辱 SDK 您無法在沒有服務帳戶的情況下直接與數據庫建立連接,因此唯一的方法是創建某種類型的 Rest API您發送請求的地方,它將執行它。

安全規則適用於直接從客戶端 SDK 訪問 Firestore,例如 Android、iOS 和客戶端 JavaScript。

無法將安全規則應用於使用服務帳戶訪問 Firestore 的客戶端,例如 Java、Go 和 Node.js 的 Admin SDK。此類客戶端在假定為特權環境(例如您的環境)中以管理權限運行開發機器、您控制的服務器或 Cloud Functions。 根據定義,這些連接會繞過安全規則,並且無法更改此行為。

暫無
暫無

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

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