找出哪个 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 运行。
我有一个每天早上按计划运行的 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 运行。