找出哪个 IAM 帐户手动触发了计划功能

Find out which IAM account manually triggered a scheduled function

我有一个每天早上按计划运行的 GCP 云功能。日志显示它在上周另外三次被计划外触发,我认为这只有在有人转到 Cloud Scheduler 页面并单击该功能上的 'Run now' 时才会发生。我怎样才能知道是谁干的?日志资源管理器不显示此信息。 (人头不会翻,但IAM权限可能会被剥夺。如果是我的话加分。)

对于计划函数,有两组日志 - 一组用于由计划触发的云函数,另一组用于 Cloud Scheduler 本身。在 Cloud Scheduler 的日志中,仅显示每日计划,不显示额外的触发器。

在 Cloud Functions 的日志资源管理器中开始的函数日志:

{
  "textPayload": "Function execution started",
  "insertId": "REDACTED",
  "resource": {
    "type": "cloud_function",
    "labels": {
      "region": "REDACTED",
      "function_name": "REDACTED",
      "project_id": "REDACTED"
    }
  },
  "timestamp": "2022-05-04T08:49:37.980952884Z",
  "severity": "DEBUG",
  "labels": {
    "execution_id": "REDACTED"
  },
  "logName": "projects/REDACTED/logs/cloudfunctions.googleapis.com%2Fcloud-functions",
  "trace": "projects/REDACTED/traces/REDACTED",
  "receiveTimestamp": "2022-05-04T08:49:37.981500851Z"
}

如果您的 Cloud Function 的触发器是 http 并且未经授权,将很难(或几乎不可能)找出调用它的人。

此外,有可能在计划时没有足够的可用实例,然后重试 Cloud Function 运行。