Passer au contenu principal

Sécurité et Gouvernance (GitLab)

Audit logs et conformite

GitLab enregistre les evenements significatifs dans des logs d'audit : connexions, modifications de permissions, acces aux variables CI, actions administrateur, impersonation, modifications de branches protegees. Ces logs sont essentiels pour la conformite et l'investigation d'incidents.

Audit Events

Les Audit Events sont consultables dans l'interface (Admin > Monitoring > Audit Events) et via l'API. Ils couvrent des dizaines de categories :

  • Authentification : connexions, echecs, tentatives MFA, tokens crees/revoques
  • Gestion des acces : ajout/suppression de membres, changements de role
  • Modifications de projet : changements de visibilite, fork, parametres CI/CD
  • Branches protegees : creation, modification, suppressions de protection
  • Variables CI/CD : creation, modification, suppression
  • Administration : impersonation, modifications de parametres instance

Audit Event Streaming (EE)

Les Audit Events peuvent etre exportes en temps reel vers des systemes SIEM (Splunk, Elastic, Datadog) via des webhooks ou HTTP streaming. Chaque evenement est un JSON structure. C'est le mecanisme recommande pour l'integration avec les outils de conformite en entreprise.

# Exemple d'event JSON
{
  "id": "1",
  "author_id": 1,
  "entity_id": 6,
  "entity_type": "Project",
  "details": {
    "author_name": "admin",
    "event_name": "protected_branch",
    "target_details": "main"
  },
  "created_at": "2024-01-15T10:23:45.000Z"
}

Compliance Frameworks (EE)

Les Compliance Frameworks permettent d'appliquer des politiques CI/CD obligatoires a des groupes de projets. Un pipeline de conformite s'execute automatiquement sur chaque MR des projets taggues avec le framework, independamment du .gitlab-ci.yml du projet. Utile pour appliquer le scanning de securite ou les tests obligatoires a l'echelle d'une organisation.

Retention des logs

GitLab conserve les Audit Events par defaut. En self-hosted, les logs d'application sont dans /var/log/gitlab/ avec rotation automatique. Pour les besoins de conformite long terme (PCI-DSS, ISO 27001, SOC2), exporter les logs vers un stockage externe immuable est obligatoire : l'instance GitLab elle-meme peut etre compromises ou reinstallee.

Sources