我有一个使用firebase来获取和更新数据的web服务。我正在尝试保护对我的firebase数据库的访问。我已经在我的代码中有下载的json文件,但是,我想知道如何在firebase中设置规则以确保只有webservices可以访问db。
我目前的规则是
".read": true,
".write": true
答案 0 :(得分:0)
使用服务帐户初始化Firebase Admin SDK时,该服务具有与用于对其进行身份验证的服务帐户相同的访问权限。 在大多数情况下,无论安全规则如何,它都可以读取和写入所有数据。
为了限制服务权限:
在您的服务器上初始化Firebase应用时,请使用databaseAuthVariableOverride
选项将其添加到您的服务中:
databaseAuthVariableOverride:
{
uid: "service-name"
}
并构建您的规则,如:
{
"rules": {
"folder_name": {
".read": "auth.uid === 'service-name'",
".write": "auth.uid === 'service-name'"
}
}
}
这样,您只允许指定的服务访问您的数据库资源,您也可以定义读取或写入权限。
有关其他信息和更多详情,请查看here