查看服務帳戶和金鑰的近期使用情形

本頁面說明如何使用活動分析工具,查看服務帳戶和金鑰上次用來呼叫 Google API 的時間。這類用途稱為驗證活動

您可以透過最近的驗證活動,找出不再使用的服務帳戶和服務帳戶金鑰。這些未使用的服務帳戶和金鑰會造成不必要的安全風險,因此建議您停用或刪除這些帳戶和金鑰。

事前準備

  • 瞭解驗證活動
  • Enable the Policy Analyzer API.

    Enable the API

必要的角色

如要取得服務帳戶和服務帳戶金鑰所需的權限,才能列出最近的驗證活動,請管理員授予您專案的「活動分析檢視者」 (roles/policyanalyzer.activityAnalysisViewer) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色包含服務帳戶和服務帳戶金鑰所需的權限,可列出最近的驗證活動。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要列出服務帳戶和服務帳戶金鑰的最近驗證活動,您必須具備下列權限:

  • policyanalyzer.serviceAccountKeyLastAuthenticationActivities.query
  • policyanalyzer.serviceAccountLastAuthenticationActivities.query

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

查看所有服務帳戶或金鑰的近期使用情形

如要列出所有服務帳戶或服務帳戶金鑰的最近一次驗證活動日期,請使用 Google Cloud CLI 或 REST API。

gcloud

如要列出服務帳戶或金鑰最近的驗證活動,請使用 gcloud policy-intelligence query-activity 指令:

gcloud policy-intelligence query-activity --activity-type=ACTIVITY_TYPE \
    --project=PROJECT_ID --limit=LIMIT

替換下列值:

  • ACTIVITY_TYPE:您要列出的活動類型。如要列出服務帳戶的最近使用時間,請使用 serviceAccountLastAuthentication。如要列出服務帳戶金鑰的最近使用時間,請使用 serviceAccountKeyLastAuthentication
  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字元字串,例如 my-project
  • LIMIT:選用。要傳回的結果數上限。預設值為 1000

回應會列出類似以下的內容,列出專案服務帳戶的近期使用時間:

---
activity:
  lastAuthenticatedTime: '2021-04-27T07:00:00Z'
  serviceAccount:
    fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com
    projectNumber: '123456789012'
    serviceAccountId: '123456789012345678901'
activityType: serviceAccountLastAuthentication
fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com
observationPeriod:
  endTime: '2021-07-06T07:00:00Z'
  startTime: '2020-03-12T07:00:00Z'
---
activity:
  lastAuthenticatedTime: '2021-02-09T08:00:00Z'
  serviceAccount:
    fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-2@my-project.iam.gserviceaccount.com
    projectNumber: '123456789012'
    serviceAccountId: '234567890123456789012'
activityType: serviceAccountLastAuthentication
fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-2@my-project.iam.gserviceaccount.com
observationPeriod:
  endTime: '2021-07-06T07:00:00Z'
  startTime: '2020-09-01T07:00:00Z'

如要瞭解如何解讀這些結果,請參閱本頁的「瞭解活動」一節。

REST

如要列出服務帳戶或金鑰最近的驗證活動,請使用 Policy Analyzer API 的 activities.query 方法。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字元字串,例如 my-project
  • ACTIVITY_TYPE:您要列出的活動類型。如要列出所有服務帳戶的近期用量,請使用 serviceAccountLastAuthentication。如要列出所有服務帳戶金鑰的最近使用情形,請使用 serviceAccountKeyLastAuthentication
  • PAGE_SIZE:選用。此要求傳回的結果數量上限。如果未指定,伺服器會決定要傳回的結果數量。如果活動數量超過頁面大小,回應就會包含分頁符記,可用於擷取下一頁的結果。
  • PAGE_TOKEN:選用。這個方法在先前回應中傳回的分頁符記。如果指定,活動清單會從上一個要求結束的地方開始。

HTTP 方法和網址:

GET https://policyanalyzer.googleapis.com/v1/projects/PROJECT_ID/locations/global/activityTypes/ACTIVITY_TYPE/activities:query?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN

如要傳送要求,請展開以下其中一個選項:

回應內容類似以下,列出專案服務帳戶的近期使用時間:

{
  "activities": [
    {
      "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com",
      "activityType": "serviceAccountLastAuthentication",
      "observationPeriod": {
        "startTime": "2020-04-20T07:00:00Z",
        "endTime": "2021-05-17T07:00:00Z"
      },
      "activity": {
        "lastAuthenticatedTime": "2021-04-28T07:00:00Z",
        "serviceAccount": {
          "projectNumber": "123456789012",
          "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com",
          "serviceAccountId": "123456789012345678901"
        }
      }
    },
    {
      "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-2@my-project.iam.gserviceaccount.com",
      "activityType": "serviceAccountLastAuthentication",
      "observationPeriod": {
        "startTime": "2020-04-20T07:00:00Z",
        "endTime": "2021-05-17T07:00:00Z"
      },
      "activity": {
        "lastAuthenticatedTime": "2021-04-29T07:00:00Z",
        "serviceAccount": {
          "projectNumber": "123456789012",
          "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-2@my-project.iam.gserviceaccount.com",
          "serviceAccountId": "234567890123456789012"
        }
      }
    }
  ],
  "nextPageToken": "AVgRrQV4b5nISN6cGJvTPFJ2v_"
}

如要瞭解如何解讀這些結果,請參閱本頁的「瞭解活動」一節。

查看特定服務帳戶的近期使用情形

如要查看特定服務帳戶的上次使用日期,請使用Google Cloud 控制台、gcloud CLI 或 REST API。

控制台

  1. 在 Google Cloud 控制台中,前往「Policy Analyzer」頁面。

    前往 Policy Analyzer

  2. 在「分析近期活動」下方,找出標示為「這個服務帳戶上次使用的時間為何?」的窗格,然後點選該窗格中的「建立查詢」

  3. 在「Select query scope」方塊中,輸入要分析服務帳戶的專案名稱。

  4. 在「新增服務帳戶」部分,按一下「服務帳戶」方塊。系統會顯示專案中的所有服務帳戶清單。這份清單也會列出每個服務帳戶所關聯的專案,以及每個服務帳戶的電子郵件地址。

  5. 選取要查看近期使用情形的服務帳戶。

  6. 選用:如要查看多個服務帳戶的近期使用情形,請按一下「新增帳戶」,然後選取其他服務帳戶。一次最多可分析 10 個服務帳戶。

  7. 在「存取活動查詢」面板中,按一下「執行查詢」

結果頁面會顯示服務帳戶的近期使用情形。如要瞭解如何解讀這些結果,請參閱本頁的「瞭解活動」一節。

gcloud

如要取得特定服務帳戶最近的驗證活動,請使用 gcloud policy-intelligence query-activity 指令搭配篩選器:

gcloud policy-intelligence query-activity --activity-type=serviceAccountLastAuthentication \
    --project=PROJECT_ID \
    --query-filter='FILTER'

替換下列值:

  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字元字串,例如 my-project
  • FILTER:指定您要查看使用情形的服務帳戶完整資源名稱的篩選器。服務帳戶的完整資源名稱包含專案 ID 和服務帳戶的電子郵件地址。

    如要篩選單一服務帳戶,請使用下列格式的篩選器:

    activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL"

    如要篩選多個服務帳戶,請使用 OR 指定多個可接受的完整資源名稱:

    activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_1_EMAIL" OR activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_2_EMAIL"

    最多可篩選 10 個服務帳戶。

回應會說明服務帳戶的近期使用情形:

---
activity:
  lastAuthenticatedTime: '2021-04-27T07:00:00Z'
  serviceAccount:
    fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com
    projectNumber: '123456789012'
    serviceAccountId: '123456789012345678901'
activityType: serviceAccountLastAuthentication
fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com
observationPeriod:
  endTime: '2021-07-06T07:00:00Z'
  startTime: '2020-03-12T07:00:00Z'

如要瞭解如何解讀這些結果,請參閱本頁的「瞭解活動」一節。

REST

如要取得特定服務帳戶的最近驗證活動,請使用 Policy Analyzer API 的 activities.query 方法。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字元字串,例如 my-project
  • FILTER:篩選器,可指定您要查看使用情形的服務帳戶的完整資源名稱。

    如要篩選單一服務帳戶,請使用下列格式的篩選器:

    activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_EMAIL%22

    如要篩選多個服務帳戶,請使用 %20OR%20 指定多個可接受的完整資源名稱:

    activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_1_EMAIL%22%20OR%20activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_2_EMAIL%22

HTTP 方法和網址:

GET https://policyanalyzer.googleapis.com/v1/projects/PROJECT_ID/locations/global/activityTypes/serviceAccountLastAuthentication/activities:query?filter=FILTER

如要傳送要求,請展開以下其中一個選項:

回應會說明服務帳戶的近期使用情形:

{
  "activities": [
    {
      "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com",
      "activityType": "serviceAccountLastAuthentication",
      "observationPeriod": {
        "startTime": "2020-04-20T07:00:00Z",
        "endTime": "2021-05-17T07:00:00Z"
      },
      "activity": {
        "lastAuthenticatedTime": "2021-04-28T07:00:00Z",
        "serviceAccount": {
          "projectNumber": "123456789012",
          "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com",
          "serviceAccountId": "123456789012345678901"
        }
      }
    }
  ]
}

查看特定服務帳戶金鑰的近期使用情形

如要查看特定服務帳戶金鑰的上次使用日期,請找出要查看近期使用情形的服務帳戶金鑰,然後使用該 ID 建立查詢。

如果您有 JSON 金鑰檔案,可以在檔案的 private_key_id 欄位中找到服務帳戶金鑰的專屬 ID。

如果您沒有 JSON 金鑰檔案,可以按照下列步驟找出服務帳戶金鑰的專屬 ID:

控制台

  1. 在 Google Cloud 控制台中,前往「Policy Analyzer」頁面。

    前往 Policy Analyzer

  2. 在「分析近期活動」下方,找出標示為「這組服務帳戶金鑰上次使用的時間為何?」的窗格,然後點選該窗格中的「建立查詢」

  3. 在「Select query scope」方塊中,輸入要分析服務帳戶金鑰的專案名稱。

  4. 在「新增服務帳戶金鑰」部分中,按一下「服務帳戶金鑰」方塊。系統會顯示專案中的所有服務帳戶金鑰清單。清單中也會列出每個金鑰所連結的專案和服務帳戶。

  5. 選取要查看近期使用情形的鍵。

  6. 選用:如要查看多個按鍵的近期使用情形,請按一下「新增按鍵」,然後選取其他按鍵。一次最多可分析 10 個按鍵。

  7. 在「存取活動查詢」面板中,按一下「執行查詢」

結果頁面會顯示服務帳戶金鑰的最近用量。如要瞭解如何解讀這些結果,請參閱本頁的「瞭解活動」一節。

gcloud

首先,請找出要查看近期使用情形的服務帳戶金鑰:

  1. 列出服務帳戶金鑰。

    使用下列任何指令資料之前,請先替換以下項目:

    • SERVICE_ACCOUNT_EMAIL:金鑰所連結的服務帳戶電子郵件地址。

    執行 gcloud iam service-accounts keys list 指令:

    Linux、macOS 或 Cloud Shell

    gcloud iam service-accounts keys list --iam-account=SERVICE_ACCOUNT_EMAIL

    Windows (PowerShell)

    gcloud iam service-accounts keys list --iam-account=SERVICE_ACCOUNT_EMAIL

    Windows (cmd.exe)

    gcloud iam service-accounts keys list --iam-account=SERVICE_ACCOUNT_EMAIL

    輸出內容會列出所有與服務帳戶相關聯的使用者建立金鑰清單,包括每個金鑰的專屬 ID、建立時間和到期時間。

  2. 使用輸出內容中的資料,找出要追蹤的鍵,並複製其專屬 ID。

找出服務帳戶金鑰的專屬 ID 後,請使用這些 ID 篩選活動分析器的結果:

如要取得特定服務帳戶金鑰的最近驗證活動,請使用 gcloud policy-intelligence query-activity 指令搭配篩選器。

使用下列任何指令資料之前,請先替換以下項目:

  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字元字串,例如 my-project
  • FILTER:指定您要查看用量的服務帳戶金鑰完整資源名稱的篩選器。服務帳戶金鑰的完整資源名稱包含專案 ID、與金鑰相關聯的服務帳戶電子郵件地址,以及金鑰 ID。

    如要篩選單一服務帳戶金鑰,請使用下列格式的篩選器:

    activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL/keys/KEY_ID"

    如要篩選多個服務帳戶金鑰,請使用 OR 指定多個可接受的完整資源名稱:

    activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_1_EMAIL/keys/KEY_ID_1" OR activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_2_EMAIL/keys/KEY_ID_2"

    您最多可以篩選 10 個服務帳戶金鑰。

執行下列指令:

Linux、macOS 或 Cloud Shell

gcloud policy-intelligence query-activity --activity-type=serviceAccountKeyLastAuthentication \
    --project=PROJECT_ID \
    --query-filter='FILTER'

Windows (PowerShell)

gcloud policy-intelligence query-activity --activity-type=serviceAccountKeyLastAuthentication `
    --project=PROJECT_ID `
    --query-filter='FILTER'

Windows (cmd.exe)

gcloud policy-intelligence query-activity --activity-type=serviceAccountKeyLastAuthentication ^
    --project=PROJECT_ID ^
    --query-filter='FILTER'

您應該會收到類似以下的回應:

activity:
  lastAuthenticatedTime: '2021-06-11T07:00:00Z'
  serviceAccountKey:
    fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com/keys/1c65fca351d6925e629059743428b7af243a728c
    projectNumber: '232342569935'
    serviceAccountId: '103185812403937829397'
activityType: serviceAccountKeyLastAuthentication
fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com/keys/1c65fca351d6925e629059743428b7af243a728c
observationPeriod:
  endTime: '2021-07-06T07:00:00Z'
  startTime: '2020-09-10T07:00:00Z'

這個回應會說明服務帳戶金鑰的最近使用情形。如要瞭解如何解讀這些結果,請參閱本頁的「瞭解活動」一節。

REST

首先,請找出要查看近期使用情形的服務帳戶金鑰:

  1. 列出服務帳戶金鑰:

    如要列出服務帳戶的所有服務帳戶金鑰,請使用 IAM API 的 projects.serviceAccounts.keys.list 方法。

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字元字串,例如 my-project
    • SA_NAME:您要列出金鑰的服務帳戶名稱。
    • KEY_TYPES:選用。您要在回應中加入的金鑰類型清單,以半形逗號分隔。金鑰類型會指出金鑰是由使用者管理 (USER_MANAGED) 還是由系統管理 (SYSTEM_MANAGED)。如果留空,系統會傳回所有金鑰。

    HTTP 方法和網址:

    GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES

    如要傳送要求,請展開以下其中一個選項:

    回應會說明服務帳戶金鑰的最近使用情形:

    {
      "keys": [
        {
          "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c",
          "validAfterTime": "2020-03-04T17:39:47Z",
          "validBeforeTime": "9999-12-31T23:59:59Z",
          "keyAlgorithm": "KEY_ALG_RSA_2048",
          "keyOrigin": "GOOGLE_PROVIDED",
          "keyType": "USER_MANAGED"
        },
        {
          "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8",
          "validAfterTime": "2020-03-31T23:50:09Z",
          "validBeforeTime": "9999-12-31T23:59:59Z",
          "keyAlgorithm": "KEY_ALG_RSA_2048",
          "keyOrigin": "GOOGLE_PROVIDED",
          "keyType": "USER_MANAGED"
        },
        {
          "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/b97699f042b8eee6a846f4f96259fbcd13e2682e",
          "validAfterTime": "2020-05-17T18:58:13Z",
          "validBeforeTime": "9999-12-31T23:59:59Z",
          "keyAlgorithm": "KEY_ALG_RSA_2048",
          "keyOrigin": "GOOGLE_PROVIDED",
          "keyType": "USER_MANAGED",
          "disabled": true
        }
      ]
    }
    

  2. 使用回應中的中繼資料,找出要追蹤的鍵。接著,從 name 欄位的結尾複製鍵的專屬 ID。

    name 欄位的格式如下:

    "name": "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL/keys/KEY_ID"

    金鑰的專屬 ID 是 keys/ 後面的所有內容。

    舉例來說,下列鍵名中的專屬 ID 為 0f561cc41650ff521899de2fd653bd3de08e2da4

    "name": "projects/my-project/serviceAccounts/my-account@my-project.iam.gserviceaccount.com/keys/0f561cc41650ff521899de2fd653bd3de08e2da4"

找出服務帳戶金鑰的專屬 ID 後,請使用這些 ID 篩選活動分析器的結果:

如要取得特定服務帳戶金鑰的最近驗證活動,請使用 Policy Analyzer API 的 activities.query 方法。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字元字串,例如 my-project
  • FILTER:指定您要查看用量的服務帳戶金鑰完整資源名稱的篩選器。服務帳戶金鑰的完整資源名稱包含專案 ID、與金鑰相關聯的服務帳戶電子郵件地址,以及金鑰 ID。

    如要篩選單一服務帳戶金鑰,請使用下列格式的篩選器:

    activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_EMAIL%2Fkeys%2FKEY_ID%22

    如要篩選多個服務帳戶金鑰,請使用 %20OR%20 指定多個可接受的完整資源名稱:

    activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_1_EMAIL%2Fkeys%2FKEY_ID_1%22%20OR%20activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_2_EMAIL%2Fkeys%2FKEY_ID_2%22

    您最多可以篩選 10 個服務帳戶金鑰。

HTTP 方法和網址:

GET https://policyanalyzer.googleapis.com/v1/projects/PROJECT_ID/locations/global/activityTypes/serviceAccountKeyLastAuthentication/activities:query?filter=FILTER

如要傳送要求,請展開以下其中一個選項:

回應會說明服務帳戶金鑰的最近使用情形:

{
  "activities": [
    {
      "activity": {
        "lastAuthenticatedTime": "2021-06-11T07:00:00Z",
        "serviceAccountKey": {
          "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com/keys/1c65fca351d6925e629059743428b7af243a728c",
          "projectNumber": "123456789012",
          "serviceAccountId": "123456789012345678901"
        }
      },
      "activityType": "serviceAccountKeyLastAuthentication",
      "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1t@my-project.iam.gserviceaccount.com/keys/1c65fca351d6925e629059743428b7af243a728c",
      "observationPeriod": {
        "endTime": "2021-07-06T07:00:00Z",
        "startTime": "2020-04-20T07:00:00Z"
      }
    }
  ]
}

如要瞭解如何解讀這些結果,請參閱本頁的「瞭解活動」一節。

瞭解活動

控制台

查詢結果頁面會列出查詢參數和查詢結果。

針對服務帳戶查詢,結果表會列出查詢中的每個服務帳戶,以及上次驗證的時間:

針對服務帳戶金鑰查詢,結果表會列出查詢中的每個服務帳戶金鑰、其相關聯的服務帳戶,以及上次驗證的時間。

結果可能不包含最近的驗證事件。查看工具提示,瞭解分析期間使用的確切日期範圍。結果不包含發生在這個範圍以外的驗證事件。

兩個查詢的結果表格也會列出服務帳戶在專案中擁有的 IAM 角色,以及任何安全性深入分析。這些洞察資料會突顯服務帳戶存取資源的模式。舉例來說,部分洞察資料會標示超出必要權限,或實體不需要的權限。其他洞察資料會標示具有橫向移動權限的服務帳戶,或是可讓服務帳戶模擬其他專案中服務帳戶的權限。

部分洞察資料也會提供角色建議,建議您進行哪些變更,以減少過多權限。如要瞭解如何管理最佳化建議和洞察資料,請參閱「查看及套用最佳化建議」。

gcloud

Activity Analyzer 會將結果回報為活動清單。活動包含以下欄位:

  • fullResourceName:要回報活動的服務帳戶或服務帳戶金鑰的完整資源名稱。這類格式說明請見下文及「完整資源名稱」一節。
  • activityType:回報的活動類型。對於最近的服務帳戶驗證活動,這個值為 serviceAccountLastAuthentication。對於最近的服務帳戶金鑰驗證活動,這個值為 serviceAccountKeyLastAuthentication
  • observationPeriod:開始和結束時間,表示服務帳戶或金鑰活動的時間範圍。這些時間戳記中的時間一律為 T07:00:00Z
  • activity:活動的詳細資料。這個欄位的內容會因活動類型而異。詳情請參閱下文。

服務帳戶活動詳細資料

serviceAccountLastAuthentication 活動的 activity 欄位包含下列欄位:

  • serviceAccount:遭檢舉活動的服務帳戶詳細資料,包括:

    • fullResourceName:服務帳戶的完整資源名稱,格式為 //iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL
    • projectNumber:擁有服務帳戶的專案數字 ID。
    • serviceAccountId:服務帳戶的數字 ID。
  • lastAuthenticatedTime:代表最近一次驗證事件發生日期的時間戳記。無論驗證事件的確切時間為何,這個時間戳記中的時間一律為 T07:00:00Z

    結果可能不包含最近的驗證事件。查看 observationPeriod,瞭解分析期間使用的確切日期範圍。結果不包含發生在這個範圍以外的驗證事件。

    從未使用的服務帳戶不會顯示這個欄位。

服務帳戶金鑰活動詳細資料

serviceAccountKeyLastAuthentication 活動的 activity 欄位包含下列欄位:

  • serviceAccountKey:遭到檢舉活動的服務帳戶金鑰詳細資料,包括:

    • fullResourceName:服務帳戶金鑰的完整資源名稱,格式為 //iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL/keys/KEY_ID
    • projectNumber:擁有金鑰所關聯服務帳戶的專案數字 ID。
    • serviceAccountId:金鑰所關聯的服務帳戶數字 ID。
  • lastAuthenticatedTime:代表最近一次驗證事件發生日期的時間戳記。無論驗證事件的確切時間為何,這個時間戳記中的時間一律為 T07:00:00Z

    結果可能不包含最近的驗證事件。查看 observationPeriod,瞭解分析期間使用的確切日期範圍。結果不包含發生在這個範圍以外的驗證事件。

    如果服務帳戶金鑰從未使用過,就不會納入這個欄位。

REST

Activity Analyzer 會將結果回報為活動清單。活動包含以下欄位:

  • fullResourceName:要回報活動的服務帳戶或服務帳戶金鑰的完整資源名稱。這類格式說明請見下文及「完整資源名稱」一節。
  • activityType:回報的活動類型。對於最近的服務帳戶驗證活動,這個值為 serviceAccountLastAuthentication。對於最近的服務帳戶金鑰驗證活動,這個值為 serviceAccountKeyLastAuthentication
  • observationPeriod:開始和結束時間,表示服務帳戶或金鑰活動的時間範圍。這些時間戳記中的時間一律為 T07:00:00Z
  • activity:活動的詳細資料。這個欄位的內容會因活動類型而異。詳情請參閱下文。

服務帳戶活動詳細資料

serviceAccountLastAuthentication 活動的 activity 欄位包含下列欄位:

  • serviceAccount:遭檢舉活動的服務帳戶詳細資料,包括:

    • fullResourceName:服務帳戶的完整資源名稱,格式為 //iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL
    • projectNumber:擁有服務帳戶的專案數字 ID。
    • serviceAccountId:服務帳戶的數字 ID。
  • lastAuthenticatedTime:代表最近一次驗證事件發生日期的時間戳記。無論驗證事件的確切時間為何,這個時間戳記中的時間一律為 T07:00:00Z

    結果可能不包含最近的驗證事件。查看 observationPeriod,瞭解分析期間使用的確切日期範圍。結果不包含發生在這個範圍以外的驗證事件。

    從未使用的服務帳戶不會顯示這個欄位。

服務帳戶金鑰活動詳細資料

serviceAccountKeyLastAuthentication 活動的 activity 欄位包含下列欄位:

  • serviceAccountKey:遭到檢舉活動的服務帳戶金鑰詳細資料,包括:

    • fullResourceName:服務帳戶金鑰的完整資源名稱,格式為 //iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL/keys/KEY_ID
    • projectNumber:擁有金鑰所關聯服務帳戶的專案數字 ID。
    • serviceAccountId:金鑰所關聯的服務帳戶數字 ID。
  • lastAuthenticatedTime:代表最近一次驗證事件發生日期的時間戳記。無論驗證事件的確切時間為何,這個時間戳記中的時間一律為 T07:00:00Z

    結果可能不包含最近的驗證事件。查看 observationPeriod,瞭解分析期間使用的確切日期範圍。結果不包含發生在這個範圍以外的驗證事件。

    如果服務帳戶金鑰從未使用過,就不會納入這個欄位。

後續步驟