作者:陈柏菱皇君怡惠 | 来源:互联网 | 2022-12-07 11:13
作为书面文件的FireStore在这里我有一个这样的安全规则:
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, update, delete: if request.auth.uid == userId;
allow create: if request.auth.uid != null;
}
}
}
当我使用客户端库进行身份验证时,此规则有效,但当我使用firebase文档中编写的服务器库时则不行
注意:服务器客户端库会绕过所有Cloud Firestore安全规则,而是通过Google Application Default Credentials进行身份验证.如果您使用的是服务器客户端库或REST或RPC API,请确保为Cloud Firestore设置Cloud Identity and Access Management.
如何将此安全规则复制到服务帐户角色?
1> Doug Stevens..:
使用了火力地堡联系SDK与服务帐户来访问当前代码的FireStore不能作用域特定用户ID实施安全规则的目的.使用Admin SDK的所有访问都将绕过安全规则并完全控制数据库.
请注意,这与实时数据库不同,后者确实具有此功能.