Cloud Firestore审计日志是否包含集合删除操作?为何查询不到对应日志
Cloud Firestore审计日志集合删除相关问题解答
Cloud Firestore的审计日志不包含独立的集合创建、删除操作记录,核心原因是Firestore的集合属于隐式资源:不存在单独的创建/删除集合的API接口,集合会在首个文档写入时自动生成,在最后一个文档被删除时自动销毁,本身不是独立的可管理资源,因此没有对应的审计日志条目。
你无法查询到相关日志的核心原因如下:
- 资源类型配置错误:你当前查询语句使用的
datastore_database、datastore_index是面向Cloud Datastore的资源类型,Firestore对应的审计日志资源类型为firestore_database,修正资源类型才能匹配到Firestore相关的审计日志。 - 默认未开启数据访问日志:
cloudaudit.googleapis.com%2Fdata_access类日志默认是关闭状态,需要你手动进入GCP控制台的IAM与管理员-审计日志页面,找到Cloud Firestore服务,开启对应的数据访问审计规则,才能记录文档级别的读写删操作。
如果需要追溯集合删除的操作,可通过查询该集合下最后一个文档的删除日志,间接推断集合的销毁信息,参考查询语句如下:
resource.type="firestore_database" logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access" methodName="google.firestore.v1.Firestore.DeleteDocument" resource.labels.database="(default)" protoPayload.request.name:"projects/PROJECT_ID/databases/(default)/documents/目标集合名/"
内容的提问来源于stack exchange,提问作者Troglo
相关产品推荐
相关产品推荐

