Auth0 + Datadog : monitoring complet de l'authentification
Intégrer Auth0 avec Datadog pour monitorer les métriques d'authentification, créer des dashboards et configurer des alertes sur les anomalies de sécurité.
Par Auth0.Expert · 2025-03-08 · 10 min de lecture
Auth0 + Datadog : monitoring de l'authentification
TL;DR
Datadog est l'outil de monitoring le plus utilisé avec Auth0. Ce guide configure le Log Streaming vers Datadog, crée les métriques clés et les alertes de sécurité essentielles.
---
Configuration Log Streaming vers Datadog
Ce bloc JSON montre comment configurer le streaming des logs Auth0 vers Datadog pour centraliser l'observabilité et la détection d'incidents.
// Dashboard → Monitoring → Streams → Create Stream → Datadog
{
"name": "Datadog Production",
"type": "datadog",
"sink": {
"datadogRegion": "EU1",
"datadogApiKey": "your_datadog_api_key"
},
"filters": [] // Vide = tous les events
}
---
Pipeline Logs Datadog : parser les logs Auth0
Ce script Datadog permet de parser les logs Auth0 entrants pour extraire les champs pertinents, notamment le type, l’adresse IP, et le statut du login.
# Datadog Logs Pipeline
# Parsing rule pour les logs Auth0
rule = """
auth0_log (%{data::json})
"""
# Processor : extraire les champs utiles
processors = [
{
"type": "attribute-remapper",
"name": "Map type to evt.name",
"source": "type",
"target": "evt.name",
},
{
"type": "geo-ip-parser",
"name": "IP → Géolocalisation",
"sources": ["ip"],
"target": "network.client",
},
{
"type": "arithmetic-processor",
"name": "Login success = 1 if type == 's'",
"expression": "if(type == 's', 1, 0)",
"target": "login_success",
},
]
Ce pipeline automatise l’enrichissement et la préparation des logs Auth0 pour réaliser des visualisations et des alertes sur Datadog.
---
Dashboard Auth0 dans Datadog
Ci-dessous un exemple de configuration pour les widgets clés d’un dashboard Auth0 dans Datadog, afin de suivre le succès des connexions, l’origine géographique et l’activité suspecte.
// Widgets essentiels pour votre dashboard Auth0
[
{
"title": "Taux de succès des logins",
"type": "timeseries",
"query": "sum:auth0.logs{type:s}.as_count() / (sum:auth0.logs{type:s}.as_count() + sum:auth0.logs{type:f}.as_count()) * 100"
},
{
"title": "Tentatives de login par pays",
"type": "geomap",
"query": "sum:auth0.logs{*} by {@network.client.geoip.country.iso_code}.as_count()"
},
{
"title": "Top 10 IPs à risque",
"type": "top_list",
"query": "sum:auth0.logs{type:f} by {ip}.as_count()"
},
{
"title": "MFA Events",
"type": "timeseries",
"query": "sum:auth0.logs{type IN (gd_start_auth, gd_auth_succeed, gd_auth_failed)}.as_count()"
}
]
Ces configurations permettent de visualiser en temps réel les métriques de sécurité Auth0 sur votre tableau de bord Datadog.
---
Alertes Datadog recommandées
Voici un exemple d’alertes types à déployer dans Datadog pour détecter rapidement les activités suspectes ou les attaques sur votre portail d’authentification Auth0.
# 1. Alerte brute force
monitors:
- name: "Auth0 - Brute Force Détecté"
type: log alert
query: "logs("source:auth0 @evt.name:limit_wc").rollup("count").last("5m") > 0"
message: |
🚨 Attaque brute force détectée sur Auth0
{{log.message}}
@slack-security-channel
- name: "Auth0 - Taux d'échec login > 50%"
type: metric alert
query: "sum:auth0.login_failures{*}.as_count() / sum:auth0.login_attempts{*}.as_count() * 100 > 50"
message: "Le taux d'échec de login dépasse 50% - possible credential stuffing @pagerduty"
- name: "Auth0 - Mot de passe compromis"
type: log alert
query: "logs("source:auth0 @evt.name:pwd_leak").rollup("count").last("15m") > 0"
message: "Un mot de passe compromis a été utilisé par {{@usr.email}}"
- name: "Auth0 - Pic de signups"
type: log alert
query: "logs("source:auth0 @evt.name:ss").rollup("count").last("10m") > 100"
message: "Pic de signups anormal - possible bot signup attack"
Ce bloc YAML définit plusieurs monitors Datadog pour une surveillance efficace de la sécurité Auth0.
---
Métriques custom avec DogStatsD
Ce code utilise une Action Auth0 pour envoyer des événements personnalisés à votre backend, puis les relayer à DogStatsD et ainsi obtenir des métriques spécifiques à votre business.
// Envoyer des métriques custom depuis une Action Auth0
// (via votre propre endpoint qui forward vers DogStatsD)
exports.onExecutePostLogin = async (event, api) => {
// Envoyer la métrique au backend (pas directement à Datadog)
await fetch(`${event.secrets.METRICS_ENDPOINT}/auth-metric`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
metric: 'auth0.login',
value: 1,
tags: [
`method:${event.connection.strategy}`,
`plan:${event.user.app_metadata?.plan || 'free'}`,
`country:${event.request.geoip?.country_code || 'unknown'}`,
`success:${event.transaction?.protocol ? 'true' : 'false'}`,
],
}),
});
};
Cette méthode permet de monitorer des KPIs sur mesure, adaptés à vos besoins précis.
---
SLO : objectifs de niveau de service Auth0
Les SLO Auth0 permettent d’engager le service sur des niveaux de performance et de qualité de l’authentification.
# SLOs recommandés pour l'authentification
slos:
- name: "Auth0 Login Success Rate"
type: metric
query:
numerator: "sum:auth0.login_success{*}.as_count()"
denominator: "sum:auth0.login_attempts{*}.as_count()"
target: 99.9
timeframe: "7d"
- name: "Auth0 Signup Success Rate"
type: metric
target: 99.5
timeframe: "30d"
- name: "Auth0 Token Generation Latency < 500ms"
type: metric
target: 99.0
timeframe: "7d"
Ce schéma formalise vos engagements de qualité Auth0 et facilite le pilotage contractuel.
---
Intégration avec APM Datadog
Ce middleware ajoute des tags métier Auth0 sur chaque trace backend remontée à Datadog, pour optimiser le debug et le monitoring applicatif.
// Tracer les appels Auth0 dans votre backend
const tracer = require('dd-trace').init();
app.use(async (req, res, next) => {
const span = tracer.scope().active();
if (span && req.auth) {
span.setTag('auth.user_id', req.auth.sub);
span.setTag('auth.plan', req.auth['https://yourapp.com/plan']);
span.setTag('auth.method', req.auth.amr?.[0]);
}
next();
});
Ce code enrichit les traces APM Datadog avec les informations d’utilisateur Auth0 pour chaque requête traitée.
---
> 📈 Setup monitoring Auth0 : nous configurons votre stack Datadog complète (dashboards, alertes, SLOs) pour votre implémentation Auth0 en 1 journée.
📞 +33 1 23 45 67 89 · 📧 [email protected]
Autres articles
- Auth0 et OAuth 2.0 : architecture complète pour comprendre les flux d'autorisation
- OpenID Connect sur Auth0 : ID Token, UserInfo et discovery endpoint expliqués
- Configurer SAML 2.0 avec Auth0 : guide complet pour l'entreprise
- Migrer des Rules vers les Auth0 Actions : guide pas à pas
- Architecture multi-tenant avec Auth0 : organisations, isolation et bonnes pratiques
- Validation des JWT Auth0 : RS256 vs HS256, JWKS et pièges communs
- Concevoir son architecture de tenants Auth0 : dev, staging, prod
- Configurer un domaine personnalisé Auth0 : login.votredomaine.com étape par étape