イベントフックフィールドリファレンス

ISPMのイベントフックは、検出された問題がアカウント(人間またはサービス)、ユーザー(個人)、またはOAuth付与(エージェント)のどれに関連しているかに応じて、異なるペイロード構造を提供します。これは意図的なものです。

  • アカウントの問題:アカウント(人間またはサービス)は、正確に1つのソース製品に属します。sourceProductNamesourceProductTenantは、affectedEntityの中に直接表示されます。

  • ユーザー(個人)の問題:個人は、複数の製品(Okta、Azure、AWSなど)にわたってアカウントを持つことができる、関連付けられたIDです。ソース情報はadditionalData.activeAccounts[]内に表示されます。各エントリは、そのユーザーが保持する1つのアカウントを表します。

  • OAuth付与の課題:クライアントアプリがユーザーに代わってリソースアプリにアクセスするためのユーザーの認可。ユーザーがOAuth同意画面を承認すると、クライアントアプリはアクセストークンを受け取り、そのトークンを使用してユーザーとしてリソースアプリのAPIを呼び出します。clientAppおよびresourceAppは、additionalDataの中に表示されます。

ペイロードには常にadditionalDataオブジェクトが含まれますが、特定の課題タイプに関連するフィールドのみが入力されます。

アカウントの問題

ペイロードの例

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "type": "Account",
  "displayName": "Ali Lesch",
  "identifierInService": "ali.lesch@example.com",
  "sourceProductName": "Okta",
  "sourceProductTenant": "Example Corp",
  "additionalData": {
    "username": "ali.lesch@example.com",
    "types": [{ "type": "Admin", "reasons": ["Member of Org Admins group"] }],
    "lastLogin": "2025-05-04T18:22:00Z",
    "unrotatedTokens": [{
      "type": "API Token",
      "methodName": "ali_api_key",
      "createdAt": "2025-05-05T09:03:03Z",
      "lastUsed": "2025-05-05T10:06:46Z",
      "lastRotated": "2025-05-05T09:03:03Z",
      "nextRotation": null,
      "expires": "2026-05-04T00:00:00Z"
    }]
  }
}

人間またはサービスアカウントで検出された問題(たとえば、ローテーションされていないキーやトークン、未使用の管理者アカウントなど)の場合、ペイロードにはadditionalDataにIDと資格情報の詳細が含まれます。各アカウントは正確に1つのソース製品に属します。

フィールド

説明

username 影響を受けるアカウントの表示名またはログイン
タイプ アカウントに割り当てられているロールタイプ(「管理者」や「ユーザー」など)
lastlogin アカウントの最終ログイン日(形式:MM/DD/YYYY)
unrotatedTokens アラートをトリガーした資格情報

アカウントタイプのオプション

  • Super Admin
  • Admin
  • Service
  • External
  • PIM
  • Emergency Admin
  • Inaccessible
  • AI Agent
  • Keys or tokens
  • Unknown

UnrotatedTokenTypeのオプション

  • API Key
  • API Token
  • Access Key
  • Certificate
  • Service Principal
  • Personal Access Token
  • Username-Key-Pair
  • OAuth Access Token
  • Personal Access Token (Classic)
  • Personal Access Token (Fine Grained)
  • SSH Key

UnrotatedTokenTypeのプロパティ

unrotatedTokens配列には、アラートをトリガーした資格情報が含まれます。各トークンオブジェクトには、次のプロパティがあります。

フィールド

説明

種類 資格情報タイプ
作成時刻(createdAt) 資格情報が作成された日時
methodName 所有者が資格情報に与えた名前または識別子
lastUsed 資格情報が最後に使用された日時
lastRotated 最終ローテーションのタイムスタンプ
nextRotation 次回に予定されたローテーション(該当する場合)
期限が切れる 有効期限(該当する場合)

ペイロードの構造

{
  "id":                        "string",
  "type":                      "Account",
  "displayName":               "string",
  "identifierInService":       "string (optional)",
  "sourceProductName":         "string (see sourceProductName list)",
  "sourceProductTenant":       "string — tenant/directory name as shown in the Issues page",
  "sourceProductParentTenant": "string (optional) — AWS Account only: parent AWS org display name",
  "additionalData": {
    "username": "string",
    "types": [
      { "type": "<AccountType>", "reasons": ["string"] }
    ],
    "lastLogin": "ISO 8601 (optional)",
    "unrotatedTokens": [
      {
        "type":         "<UnrotatedTokenType>",
        "methodName":   "string (optional)",
        "createdAt":    "ISO 8601 (optional)",
        "lastUsed":     "ISO 8601 (optional)",
        "lastRotated":  "ISO 8601 (optional)",
        "nextRotation": "ISO 8601 (optional)",
        "expires":      "ISO 8601 (optional)"
      }
    ]
  }
}

ユーザー(個人)の課題

ペイロードの例

{
  "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "type": "Person",
  "displayName": "Ali Lesch",
  "sourceProductName": "Okta",
  "sourceProductTenant": "Example Corp",
  "additionalData": {
    "activeAccounts": [
      {
        "id": "a1b2c3d4",
        "displayName": "Ali Lesch",
        "sourceProductName": "Okta",
        "sourceProductTenant": "Example Corp"
      }
    ]
  }
}

ユーザーに関連する問題(たとえば、部分的にオフボーディングされたユーザー)の場合、ペイロードには接続された製品全体でその個人に属するすべてのアカウントが一覧表示されます。

フィールド

説明

activeAccounts 接続された製品全体で、このユーザーに属するすべてのアカウント
activeAccounts[].id ソース製品内にあるアカウントの一意の識別子
activeAccounts[].displayName 人間が判読可能なアカウント名
activeAccounts[].sourceProductName このアカウントが属するソース
activeAccounts[].sourceProductTenant ISPMに表示されるテナント名

OAuth付与

集約OAuth付与アカウントに関連する問題では、additionalDataフィールドclientAppおよびresourceApp が必須です。
{
  "id":          "string",
  "type":        "AggregatedOAuthGrantAccount",
  "displayName": "string",
  "additionalData": {
    "clientApp":   { "id": "string", "type": "<UnifiedRefType>", "title": "string", "subtitle": "string (optional)", "image": "string (optional)", "deletedAt": "ISO 8601 (optional)" },
    "resourceApp": { "id": "string", "type": "<UnifiedRefType>", "title": "string", "subtitle": "string (optional)", "image": "string (optional)", "deletedAt": "ISO 8601 (optional)" }
  }
}

ソース製品リファレンス

以下の表は、イベントフックのペイロードに表示されるsourceProductName値に、各接続済みプラットフォームをマッピングしたものです。

Source(ソース) sourceProductNameの値
Okta Okta
AAD AAD
Google Workspace Google Workspace
AWS (AWS-account-level) AWSアカウント
Salesforce Salesforce.com
Snowflake Snowflakeアカウント
GitHub(EMU) GitHub EMU
GitHub(organization) GitHub Organization
GitLab GitLab
自己管理(GitLab) GitLab Self Managed
Google Cloud Platform Google Cloud Platform
Microsoft Azure Azure Cloud
Jira Jira
Box Box
Workday Workday
Active Directory(オンプレミス) Active Directory

sourceProductParentTenantは、ISPMがAWS orgの問題を検出した場合にのみ入力されます。これはaffectedEntityセクションにあり、AWS orgの名前を指定します。