如何在日志级别监控 gcp 中执行的命令行?

How to monitor the command lines that are executed in gcp at the logs level?

目前我想进行监控以了解在 gcloud 级别执行的人员和内容,例如了解是否有人执行:

gcloud iam service-accounts list.

objective 是为了防止攻击者或其他人设法进入并知道服务帐户列表。 objective 是为了能够通过 Logs Explorer 将其可视化,然后对 SIEM 进行 Sink。

能做到吗?

每当有人(或某物...例如 Terraform)对您的 GCP 环境进行更改或执行一些敏感访问时,审计记录会自动记录并且是不可变的。这意味着它们不能被删除或隐藏。这些审计记录被写入 GCP Cloud Logging,可以 viewed/reviewed 使用 Cloud Logging 浏览器工具。如果需要,您还可以设置在检测到某些日志记录(审计活动)时自动触发的警报或其他触发器。可以在此处找到 GCP 审计日志的完整文档:

https://cloud.google.com/logging/docs/audit

与其尝试重复这些信息,不如让我鼓励您深入阅读该文章。

关于gcloud的具体问题,有助于认识到GCP中的一切都是通过API发生的。这意味着当您执行 gcloud 命令(任何地方)时,会导致 API 请求执行发送到 GCP 的任务。 GCP 在这里将审计记录写入日志。

就将写入 Cloud Logging 的审计跟踪下沉到 SIEM 而言,这绝对是可能的。我的建议是将整个拼图分成几个部分。对于第 1 部分,向自己证明您关心的审计记录正在写入 Cloud Logging ...,对于第 2 部分,向自己证明任何和所有 Cloud Logging 记录都可以(使用过滤器)从 Cloud Logging 导出到外部 SIEM 或 GCP 云存储以进行长期存储。