我已经开始了一个基于网络的项目,使用nodejs,express,firebase函数,防火墙,并最终想要使用防火墙托管。到目前为止,我已经能够保持所有服务器端,直到我已经达到授权和认证。我使用的是模型视图控制器结构,因此对防火墙的调用是在服务器端进行的,因此防火墙的安全规则不起作用。只有当您访问防火墙客户端时,Fi还原安全规则才能工作。
我是否可以使用google (标识和访问管理)来控制用户的读写能力,就像使用cloud安全规则一样?
如果是这样的话,它是否像在MySQL中设置不同的用户那样工作:
grant INSERT, UPDATE, SELECT on name_of_database.* to 'admin_webuser'@'%';
grant SELECT on name_of_database.* to 'user_webuser'@'%';因此,当管理员在其中签名时,他们使用admin_webuser连接到数据库,如果其他人签名,则使用user_webuser连接到数据库。
我能用nodejs,express,firebase函数来实现上述的设置,使用IAM连接到防火墙吗?
当前,在“我的模型”文件夹中,我使用以下命令调用了火药库:
const admin = require('firebase-admin');
const functions = require('firebase-functions');
admin.initializeApp(functions.config().firebase);我假设我可以根据已经设置的IAM规则将admin.initializeApp(functions.config().firebase);部件更改为一个不同的配置文件?所以,当管理员登录我的网站时,我可以使用一个带有不同配置文件的models文件夹吗?
我读过关于我的文档,但这没有任何意义。有谁能建议我:
发布于 2018-07-25 17:07:40
在服务器端,通过向Admin:https://cloud.google.com/firestore/docs/security/iam使用的服务帐户授予适当的IAM权限来配置访问控制。这不允许在单独的集合/文档级别配置权限,比如安全规则。
我认为您需要在客户端处理用户身份验证(Firebase Auth),以完成您想要做的事情。然后,您可以轻松地结合使用海关索赔和安全规则来回答您的问题1和2。
一个可能的解决办法是在服务器环境中使用client。然后,您可以使用Admin为每个用户创建一个自定义令牌,并将该用户登录到服务器应用程序本身中。
https://stackoverflow.com/questions/51519274
复制相似问题