如何通过ID查询GCP IP资源审计日志以获取创建信息?
GCP审计日志查询IP资源创建时间与创建者的方法
GCP的IP资源分为静态预留IP和随VM自动分配的临时IP,两者的审计日志查询方式不同,具体操作如下:
1. 静态IP(含外部/内部预留IP)
静态IP属于gce_address资源类型,对应创建操作是compute.addresses.insert,直接在Log Explorer中使用以下查询语句:
resource.type="gce_address" protoPayload.methodName="compute.addresses.insert"
查询结果中可提取的关键信息:
- 创建时间:日志的
timestamp字段 - 创建者:
protoPayload.authenticationInfo.principalEmail字段 - 对应IP地址:
protoPayload.request.address字段(或resource.labels.address_name对应IP名称)
如果已知具体IP,可添加过滤条件精准定位:
resource.type="gce_address" protoPayload.methodName="compute.addresses.insert" protoPayload.request.address="目标IP地址"
2. 临时IP(VM自动分配)
临时IP是随VM实例创建时自动分配的,没有单独的IP创建日志,需要查询VM实例创建的审计日志:
resource.type="gce_instance" protoPayload.methodName="compute.instances.insert"
查询结果中提取对应IP及相关信息:
- 外部临时IP:
protoPayload.request.networkInterfaces[].accessConfigs[].natIP字段 - 内部临时IP:
protoPayload.request.networkInterfaces[].networkIP字段 - 创建时间:日志的
timestamp字段 - 创建者:
protoPayload.authenticationInfo.principalEmail字段
若已知具体IP,可添加过滤条件:
# 过滤外部临时IP resource.type="gce_instance" protoPayload.methodName="compute.instances.insert" protoPayload.request.networkInterfaces[].accessConfigs[].natIP="目标IP地址" # 过滤内部临时IP resource.type="gce_instance" protoPayload.methodName="compute.instances.insert" protoPayload.request.networkInterfaces[].networkIP="目标IP地址"
注意事项
- 确保审计日志已启用:需确认项目中已开启
Compute Engine的审计日志记录(默认开启,若手动关闭过需重新开启) - 日志保留期限:GCP审计日志默认保留30天,需长期保存需配置日志导出到Cloud Storage/BigQuery等服务
内容的提问来源于stack exchange,提问作者user20830639
相关产品推荐
相关产品推荐

