Zones d'événement

Les événements Activity Tracking sont basés sur la norme CADF (Cloud Auditing Data Federation).

La norme CADF définit un modèle d'événement complet incluant les informations nécessaires pour certifier, gérer et auditer la sécurité des applications dans les environnements de cloud.

Le modèle d'événement CADF inclut les composants suivants :

Composants disponibles dans un modèle d'événement CADF
Composant Description
Action L'action est l'opération ou l'activité qu'effectue l'initiateur, qu'il tente d'effectuer, ou dont il attend l'achèvement.
Initiator L'initiateur est la ressource effectuant un appel d'API et générant un événement CADF. L'événement déclenché dépend de l'action demandée par l'appel d'API.
Observer L'observateur est la ressource qui crée et sauvegarde un enregistrement CADF à partir des informations disponibles dans un événement CADF.
Outcome Le résultat est le statut de l'action par rapport à la cible.
Target La cible est la ressource sur laquelle l'action est réalisée, tentée ou dont l'achèvement est attendu

Les zones suivantes sont incluses dans chaque événement Activity Tracker :

action (chaîne)

Cette zone indique l'action qui déclenche un événement.

Cette zone est au format suivant :

serviceName.objectType.action

  • servicename est le nom du service.

    Le nom de service (servicename) défini pour les actions signalées par l'infrastructure VPC comporte une exception : Le format de servicename est composé de deux parties séparées par un point (.).

  • objectType décrit l'objet (ressource ou attribut de ressource) sur lequel l'action est demandée.

  • action définit la tâche demandée par l'initiateur.

    Voici quelques actions valables : activate, add, apply, approve, authorize, bulkdelete, create, copy, read, update,delete, backup, build, capture, clear, commit, configure, deploy, disable, enable, end, get, import, init, inspect, list, monitor, notify, pull, push, provision, restore, start, stop, undeploy, update, receive, reimport, remove, send, set, setkeyfordeletion, unsetkeyfordeletion, set-on, set-off, authenticate, renew, revoke, allow, deny, evaluate, notify, reset, rotate, ack-delete, ack-restore, ack-disable, ack-enable, ack-expire, ack-restore-over, ack-rotate, ack-sync, edit, publish, write, pause, refresh, resume, unsetkeyfordeletion, failover, split, expire, unwrap, wrap, rewrap, head, expire, reapprove, export, start, stop, pause, resume, power-off, reboot, soft-reboot, hard-reboot, power-on, rename, rescue, reload, scale, search, reject

Pour plus d'informations sur les valeurs d'action générées par les services, voir Services générant des événements.

Exemple d'action : iam-am.policy.create.

correlationId (chaîne)

Cette zone indique le GUID unique que vous pouvez utiliser pour corréler des événements entre plusieurs services de votre compte.

dataEvent (valeur booléenne)

Cette zone indique le type d'événement, qu'il s'agisse d'un événement de gestion ou d'un événement de données.

  • Pour un événement de gestion, cette zone a la valeur false.
  • Pour un événement de données, cette zone a la valeur true.

eventTime (chaîne)

Cette zone indique l'horodatage de création de l'événement.

L'horodatage d'un événement que vous voyez dans l'interface utilisateur est défini à partir de eventTime et indique la date et l'heure de création de l'événement.

La date est représentée en temps universel coordonné (UTC).

Cette zone est au format suivant :

YYYY-MM-DDTHH:mm:ss.SS+0000

Exemple d'horodatage eventTime : 2017-10-19T19:07:50.32+0000.

id (String)

Champ facultatif qui peut être utilisé pour corréler les événements de suivi d'activité au sein d'un service.

Zones de l'initiateur

Les zones de l'initiateur fournissent des informations sur l'utilisateur, le service ou l'application qui demande l'exécution d'une action dans votre compte.

initiator.id (chaîne)

Cette zone fournit des informations sur l'ID de l'initiateur qui demande l'action.

Vous pouvez trouver l'un des ID d'initiateur suivants :

  • IBM ID pour les utilisateurs qui ont recours à un jeton IAM pour déclencher une action dans votre compte.
  • Service ID pour les services ou applications qui déclenchent une action dans votre compte.
  • Certificate ID pour les demandes où un certificat est utilisé pour déclencher une action dans votre compte.
  • Profile ID pour les demandes exécutées à l'aide d'un profil sécurisé

initiator.name (chaîne)

Cette zone fournit des informations sur le nom d'utilisateur de l'initiateur de l'action.

Il s'agit d'un nom lisible correspondant à la valeur de initiator.id.

Lorsque l'initiateur est un service IBM Cloud, la zone a la valeur IBM ou contient le nom du service.

initiator.authnId (chaîne)

ID de l'utilisateur qui se connecte à IBM Cloud.

initiator.authnName (chaîne)

Nom de l'utilisateur qui se connecte à IBM Cloud.

initiator.typeURI (chaîne)

Cette zone définit le type de la source de l'événement.

Les valeurs valides sont :

  • service/security/account/user
  • service/security/account/serviceid,
  • service/security/client/certificateid
  • service/security/clientid

initiator.credential.type (chaîne)

Cette zone définit le type de données d'identification qui est utilisé par l'initiateur pour exécuter l'action.

Les valeurs valides sont :

  • token
  • user
  • apikey
  • certificate
  • public-access
  • hmac
  • compute-resource
  • instance-identity-token
  • apikey-serviceid
  • s2s-authorization

initiator.host.address (chaîne)

Cette zone fournit des informations sur l'adresse d'où provient la demande. Par exemple, l'interface utilisateur ou le CLI.

Cette zone est au format suivant :

xxx.xxx.xxx.xxx

Exemple de zone initiator.host.address : 15.234.123.12.

Lorsque l'initiateur d'une action est un service IBM Cloud, ce champ est vide.

initiator.host.addressType (chaîne)

Cette zone fournit des informations sur le type d'adresse IP d'où provient la demande.

Les valeurs valides sont :

  • IPv4
  • IPv6
  • CSE
  • subnet

La valeur par défaut est IPv4.

initiator.host.agent (chaîne)

Cette zone fournit des informations que vous pouvez utiliser pour identifier l'origine de la demande.

Ce champ correspond à l'adresse IP d'origine de la demande pour IPV4 et IPv6. Pour subnet, le bloc CIDR IP sera inclus. Pour CSE, la valeur sera vide.

logSourceCRN (chaîne)

Ce champ indique le nom de la ressource du nuage (CRN) de l'instance de service qui génère l'événement. Pour plus d'informations sur le format CRN, voir Noms de ressource cloud.

message (chaîne)

Cette zone est définie avec la description lisible de l'événement.

Cette zone est au format suivant :

serviceName: {event description} [outcome]

  • servicename indique le nom du service.
  • {event description} fournit une version lisible de ce qui est signalé par l'événement.
  • outcome est facultatif et n'apparaît que lorsque le résultat de la demande est failure.

observer.name (chaîne)

Cette zone est définie avec la valeur fixe ActivityTracker.

outcome (chaîne)

Cette zone indique le résultat de l'action.

Valeurs admises : success, pending ou failure.

Zones de raison

Les zones de raison fournissent des informations sur le résultat de la demande.

reason.reasonCode (valeur numérique)

Cette zone renvoie le code de réponse HTTP de l'action demandée.

Par exemple, la zone reason.reasonCode contient :

  • 403 pour signaler un accès interdit ou non autorisé
  • 409 pour signaler un conflit

Les valeurs du code de raison sont indiquées sur le site HTTP.

reason.reasonType (chaîne)

Cette zone fournit des informations supplémentaires sur le résultat de l'action demandée.

reason.reasonForFailure (chaîne)

Cette zone fournit des informations supplémentaires sur la raison pour laquelle l'action a échoué.

requestData (JSON)

Lorsque cette zone est disponible, elle comprend des informations supplémentaires concernant la demande.

Les informations incluses dans requestData sont spécifiques pour chaque type d'action. Consultez la documentation de l'API d'une demande pour en savoir plus sur certains des champs qui peuvent être inclus.

responseData (JSON)

Lorsque cette zone est disponible, elle comprend des informations supplémentaires concernant la demande.

Les informations incluses dans responseData sont spécifiques pour chaque type d'action. Consultez la documentation de l'API d'une demande pour en savoir plus sur certains des champs qui peuvent être inclus.

saveServiceCopy (valeur booléenne)

Cette zone détermine si le service IBM Cloud qui génère l'événement enregistre une copie de l'événement pour l'audit IBM Cloud.

Lorsque la zone est définie avec la valeur true, le service qui génère l'événement effectue une copie de sauvegarde.

severity (chaîne)

Cette zone définit le niveau de menace qu'une action peut représenter sur IBM Cloud.

Valeurs admises : normal, warning et critical.

Le tableau suivant montre comment cette zone est définie selon le type d'action :

Valeurs de gravité par type d'action
Valeur Type d'action Exemple d'action
normal Actions de routine dans IBM Cloud Démarrer une instance
warning Actions qui échouent
Actions où une ressource est mise à jour ou ses métadonnées sont modifiées
Renommer une instance de service
critical Actions qui affectent la sécurité dans IBM Cloud, telles que la modification des données d'identification d'un utilisateur ou la suppression de données
Actions dans lesquelles l'initiateur n'est pas autorisé à travailler avec une ressource IBM Cloud
Supprimer une clé de sécurité

Lorsque le code raison d'un appel d'API est l'une des valeurs suivantes, la valeur de gravité est définie comme suit :

Valeur de sévérité pour certains codes de raison
reasonCode description gravité
400 Bad Request warning
401 Unauthorized critical
403 Forbidden critical
409 Conflict warning
424 Failed Dependency warning
500 Internal Server Error warning
502 Bad Gateway warning
503 Service Unavailable critical
504 Gateway Timeout warning
505 HTTP Version Not Supported warning
507 Insufficient Storage critical

Zones cible

Les zones cible fournissent des informations sur la ressource qui fait l'objet d'un accès ou qui est créée, mise à jour ou supprimée par l'action de l'initiateur dans votre compte.

Le tableau suivant répertorie les zones cible communes disponibles pour chaque événement :

Zones cible communes
Nom de zone Description Valeur
target.id Nom de ressource de cloud (CRN) sur laquelle l'action est exécutée. Exemple: crn:v1:bluemix:public:cloud-object-storage:global:a/12345678e6232019c6567c9123456789:fr56et47-befb-440a-a223c-12345678dae1:bucket:bucket1
target.name Nom lisible de la ressource sur laquelle l'action est exécutée.
target.typeURI Type de la ressource de cloud sur laquelle l'action est exécutée. Par exemple, iam-am/policy ou cloud-object-storage/bucket/acl
target.host.address Adresse IP ou URL du service cible

target.id (string)

Cette zone indique la ressource IBM Cloud sur laquelle est exécutée l'action.

Le format de cette zone est un nom de ressource de cloud (CRN). Pour plus d'informations, voir Format CRN.

target.name (chaîne)

Cette zone indique le nom lisible de la ressource IBM Cloud sur laquelle est exécutée l'action.

Vérifiez que le nom des ressources ne comporte pas de données sensibles ou de données identifiant la personne (PII).

target.alias (chaîne)

Définissez comme valeur l'alias de la ressource cloud utilisée dans la demande et sur laquelle l'action est exécutée.

Cette zone est facultative.

target.typeURI (chaîne)

Cette zone indique le type de la cible de l'événement.

Ce champ ne contient pas d'informations sur les actions.

Cette zone est au format suivant :

serviceName/objectType/attribute

  • servicename est le nom du service.
  • objectType est la ressource sur laquelle est exécutée l'action.

Exemple :

exemples detarget.typeURI
action target.typeURI
cloudcerts.certificate.import cloudcerts/certificate
container-registry.namespace.create container-registry/namespace
kms.secrets.read kms/secrets
cloud-object-storage.instance.create cloud-object-storage/instance
cloud-object-storage.object-multipart.create cloud-object-storage/object/multipart

target.resourceGroupId (chaîne)

Ce champ contient le CRN du groupe de ressources associé à la ressource sur laquelle l'action est demandée.

Cette zone s'applique uniquement aux événements générés par les services dont les ressources sont associées à un groupe de ressources. Par exemple, les services qui sont globaux et ne peuvent pas être mis à disposition dans le contexte d'un groupe de ressources n'incluent pas cette zone.

target.host.address (chaîne)

Cette zone définit l'adresse IP ou l'URL du service cible.

Cette zone est facultative.