我的firestore数据库中的实体写入次数非常高.
大多数路径的写入权限受限制,使用admin SDK从后端服务器完成.只有极少数路径具有写访问权限 - 特别是仅限于(在特定组中进行身份验证和注册以及加入和批准)的用户,因此即使滥用方法显然很薄,但难以明确识别.
我唯一看到的方法是在每次写入时执行Cloud Functions,并让函数将路径记录到某个地方进行分析.但这会带来进一步的成本和复杂性.
是否有任何方式/建议来监控/分析哪些(即路径)和谁(UID或任何身份)正在执行写入?有一些工具可以为RTDB执行此操作,但是找不到任何适用于Firestore的内容.
我也想知道是否有任何方法可以在滥用的情况下自动限制ip /用户(即高读/写率)?
我有一些不再需要的测试方法,是否有任何理由保留这些测试并将其标记为过时(如果是这样,使用'过时'方法属性正确的方法)?或者我应该只是删除它们?
以下是当条件中使用的文档字段的数据类型为 number- 时失败的示例规则:
match message_box/{user_id}/inbox {
allow read: if get('..../users/$(request.auth.uid)).data['user_id'] == user_id
}
Run Code Online (Sandbox Code Playgroud)
此规则总是失败,因为在数据中字段值是数字,但在路径变量 {user_id} 中它被捕获为字符串。
以下两项测试证实这是一个实际问题 -
有什么简单的方法可以顺利运行吗?在规则文档中没有看到将 int 转换为 string 的方法。
尝试通过PowerShell将BizTalk应用程序(msi)部署到远程计算机时,我遇到了双跳问题.这个(双跳)的唯一方法是使用CredSSP身份验证进行远程会话.部署需要无人值守,但如果我尝试使用CredSSP身份验证,则会在提示中请求凭据.使用CredSSP时,有没有办法绕过这种手动输入凭证?如果没有,是否有任何其他方式可以在不保留脚本文件中的凭据的情况下完成凭证委派?