Référence API

API : Journaux d'audit

Accéder aux journaux d'audit immutables. Chaque opération de chiffrement, déchiffrement, rotation et gestion de clés est enregistrée avec une chaîne HMAC.

MéthodeEndpointDescription
GET /v1/auditLister les entrées d'audit (paginé)
GET /v1/audit/verifyRecalculer le HMAC de chaque entrée et vérifier le chaînage

Paramètres de requête

ParamètreTypeDescription
key_iduuidFiltrer par identifiant de clé, l’UUID et non le nom
actionstringkey.wrap | key.unwrap | key.create | key.rotate | key.disable | key.destroy | key.export | key.rotation_policy | encrypt | decrypt | envelope_only.refused | api_key.create | api_key.update | api_key.revoke
date_fromRFC 3339Début de période. Une date illisible renvoie 400, elle n’est jamais ignorée.
date_toRFC 3339Fin de période
limitintegerTaille de page. 50 par défaut, plafonné à 100 sans erreur.
offsetintegerDécalage de pagination. Il n’existe pas de curseur.

Exemples

# Lister les entrees d'audit. Le filtre est `action`, pas `operation`.
curl -s "https://api.mafate.io/v1/audit?key_id=$KEY_ID&action=key.unwrap&limit=50" \
  -H "Authorization: Bearer $MAFATE_API_KEY"

# Filtrer par periode. ⚠️ Une date illisible est une ERREUR (400), et non un
# filtre ignore : c'est deliberé, un journal filtre qui renvoie tout n'a
# aucune valeur probante.
curl -s "https://api.mafate.io/v1/audit?date_from=2026-01-01T00:00:00Z&date_to=2026-03-31T23:59:59Z" \
  -H "Authorization: Bearer $MAFATE_API_KEY"

# Reponse
{
  "logs": [
    {
      "id": 148731,
      "tenant_id": "3f1a...",
      "action": "key.unwrap",
      "key_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "key_version": 3,
      "actor": "ak_01HXK9B2YZ...",
      "ip_address": "203.0.113.42",
      "metadata": { "key_version": 3 },
      "created_at": "2026-03-18T14:22:05Z"
    }
  ],
  "count": 1,
  "total": 14873,
  "limit": 50,
  "offset": 0
}

# ⚠️ `limit` est plafonne a 100. Demander 500 renvoie 100 SANS erreur :
# comparez toujours `count` a ce que vous avez demande.

Rétention des journaux

MAFATE conserve les journaux d'audit 60 mois, valeur portée par EAAS_AUDIT_RETENTION_MONTHS et appliquée par une purge périodique. Passé ce délai, les entrées sont supprimées définitivement : si votre propre obligation de conservation est plus longue, exportez le journal, ne comptez pas sur le nôtre.