如何定位通过Firebase控制台删除Firestore集合的操作用户
定位Firestore删除操作执行人员的方法
- 若你已提前开启GCP审计日志(Firebase操作默认同步至GCP日志体系),可直接通过日志筛选定位:
- 进入GCP控制台的日志浏览器页面,资源类型选择
Firestore Database - 方法名筛选
google.firestore.admin.v1.FirestoreAdmin.DeleteCollection(控制台手动删除集合场景)、google.firestore.v1.Firestore.Delete(调用API批量删除集合场景) - 时间范围设置为你发现主
collection丢失的时间往前推对应日志保留周期(免费版默认保留7天,付费版默认保留30天)
筛选完成后,日志条目内的authenticationInfo.principalEmail字段即为操作人的账号邮箱,直接匹配10名授权用户名单即可定位到具体人员。
- 进入GCP控制台的日志浏览器页面,资源类型选择
- 若未提前开启审计日志,可通过以下方式缩小排查范围:
- 进入Firebase控制台「使用和权限」→「审计」页面,查看所有用户的控制台操作时间线,筛选出和集合删除时间匹配的访问记录,优先排查该时段内访问过Firestore面板的用户
- 核对10名用户的权限等级:仅持有
Cloud Datastore Owner、Firebase Admin等高等级权限的用户可执行集合删除操作,可先从拥有对应权限的用户范围内排查 - 若删除操作是通过服务账号密钥调用API执行,需核对10名用户中谁下载过对应项目的服务账号密钥,排查密钥的调用记录
注意:如果已超出日志保留期限,无任何操作记录留存的情况下,无法通过后台数据定位具体操作人,建议后续提前开启全量审计日志,配置高风险操作的告警规则,规避同类问题。
内容的提问来源于stack exchange,提问作者BIS Tech
相关产品推荐
相关产品推荐

