Référence de champ d'appel d'événement

Les appels d'événement ISPM fournissent des structures de charge utile différentes selon que le problème détecté concerne un compte (humain ou service), un utilisateur (personne) ou une autorisation OAuth (agent). C'est intentionnel.

  • Problèmes de compte : un compte (humain ou service) appartient à un seul produit source. sourceProductName et sourceProductTenant apparaissent directement dans affectedEntity.

  • Problèmes d'utilisateur (personne) : une personne est une identité corrélée qui peut avoir des comptes dans plusieurs produits (par exemple, Okta, Azure et AWS). Les informations sources apparaissent à l'intérieur de additionalData.activeAccounts[], où chaque entrée représente un compte que la personne possède.

  • Problèmes d'autorisation OAuth : autorisation d'un utilisateur pour qu'une app client accède à une app de ressource en son nom. Une fois que l'utilisateur valide un écran de consentement OAuth, l'app client reçoit un jeton d'accès qu'elle utilise pour appeler les API de l'app de ressource en tant que cet utilisateur. clientApp et resourceApp apparaissent dans additionalData.

Votre charge utile contient toujours l'objet additionalData, mais seuls les champs pertinents pour le type de problème spécifique sont remplis.

Problèmes de comptes

Exemple de charge utile

{
  "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"
    }]
  }
}

Pour les problèmes détectés sur un compte humain ou de service (par exemple, des clés et des jetons sans rotation, des comptes administrateur non utilisés), la charge utile comprend les détails de l'identité et de l'identifiant dans additionalData. Chaque compte appartient à un produit source exactement.

Champ

Description

username Nom d'affichage ou identifiant de connexion du compte concerné
types Types de rôles affectés au compte (par exemple, « Administrateur » ou « Utilisateur »)
lastlogin Date de dernière connexion du compte (format : MM/JJ/AAAAAA)
unrotatedTokens Identifiants qui ont déclenché l'alerte

Options de type de compte

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

Options 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

Propriétés UnrotatedTokenType

Le tableau unrotatedTokens contient les identifiants qui ont déclenché l'alerte. Chaque objet de jeton possède les propriétés suivantes.

Champ

Description

type Type d'identifiant
créé à Date de création de l'identifiant
methodName Nom donné à l'identifiant par son propriétaire
lastUsed Dernière fois que l'identifiant a été utilisé
lastRotated Date et heure de dernière rotation
nextRotation Prochaine rotation planifiée, le cas échéant
expires Date d'expiration, le cas échéant

Structure de la charge utile

{
  "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)"
      }
    ]
  }
}

Problèmes d'utilisateur (personne)

Exemple de charge utile

{
  "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"
      }
    ]
  }
}

Pour les problèmes liés à une personne (par exemple, un utilisateur partiellement exclu), la charge utile répertorie tous les comptes qui appartiennent à cette personne dans les produits connectés.

Champ

Description

activeAccounts Tous les comptes appartenant à cet utilisateur dans les produits connectés
activeAccounts[].id Identificateur unique du compte dans son produit source
activeAccounts[].displayName Un nom lisible par l'utilisateur pour le compte
activeAccounts[].sourceProductName La source à laquelle appartient ce compte
activeAccounts[].sourceProductTenant Le nom du Tenant tel qu'il apparaît dans ISPM

Autorisations OAuth

Pour les problèmes liés au compte d'autorisation OAuth agrégé, les champs additionalData clientApp et resourceApp sont obligatoires.
{
  "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)" }
  }
}

Référence du produit source

Le tableau suivant mappe chaque plateforme connectée à sa valeur sourceProductName telle qu'elle apparaît dans les charges utiles d'appels d'événement.

Source sourceProductName valeur
Okta Okta
AAD AAD
Google Workspace Google Workspace
AWS (au niveau du compte AWS) Compte AWS
Salesforce Salesforce.com
Snowflake Compte Snowflake
GitHub (EMU) GitHub EMU
GitHub (organisation) Organisation GitHub
GitLab GitLab
GitLab (auto-géré) GitLab auto-géré
Google Cloud Platform Google Cloud Platform
Microsoft Azure Azure Cloud
Jira Jira
Box Box
Workday Workday
Active Directory (local) Active Directory

Le champ sourceProductParentTenant est renseigné uniquement lorsque ISPM détecte un problème pour une org AWS. Il se situe dans la section affectedEntity et contient le nom de l'org AWS.