Auth0 et SOC 2 : ce que la certification impose pour votre IAM
La certification SOC 2 Type II impose des contrôles stricts sur l'authentification, les accès et les logs. Voici comment configurer Auth0 pour satisfaire les auditeurs.
Par Auth0.Expert · 2025-04-08 · 10 min de lecture
Auth0 et SOC 2 : guide de conformité
TL;DR
SOC 2 Type II évalue vos contrôles sur 5 Trust Service Criteria. Auth0 couvre nativement la majorité des exigences d'authentification. Ce guide mappe les contrôles SOC 2 aux fonctionnalités Auth0.
---
Les 5 Trust Service Criteria
Ce tableau synthétise comment chaque critère SOC 2 correspond à des fonctionnalités Auth0 concrètes et prêtes à l'emploi.
| Critère | Code | Contrôles Auth0 concernés | |---------|------|--------------------------| | Security | CC | MFA, brute force, logs | | Availability | A | Uptime SLA, monitoring | | Processing Integrity | PI | Audit trail | | Confidentiality | C | Chiffrement, tokens | | Privacy | P | RGPD, data minimization |
---
CC6 : Logical and Physical Access Controls
Cette section détaille comment contrôler précisément l'accès logique et physique aux ressources via Auth0, pour répondre à SOC 2.
CC6.1 : Identifier et authentifier
Ce bloc liste les contrôles à vérifier pour garantir que tous les accès à votre infrastructure passent par Auth0, avec des exigences de sécurité adaptées selon les contextes.
# Vérifier que tous les accès à l'infra requièrent Auth0
# Checklist :
# ✅ Dashboard Auth0 : MFA obligatoire pour les admins
# ✅ AWS/Azure : SSO via Auth0 (SAML ou OIDC)
# ✅ GitHub/GitLab : SSO SAML Auth0
# ✅ Outils internes : OIDC Auth0
# ✅ Pas de comptes locaux (sauf break-glass)
CC6.2 : MFA obligatoire pour les accès privilégiés
Le code ci-dessous permet de forcer l'authentification multifacteur (MFA) pour les utilisateurs ayant des rôles sensibles, afin d'assurer une meilleure protection des accès critiques.
// Action Auth0 : forcer MFA pour les accès sensibles
exports.onExecutePostLogin = async (event, api) => {
const sensitiveRoles = ['admin', 'security-admin', 'billing-admin'];
const userRoles = event.authorization?.roles || [];
if (userRoles.some(r => sensitiveRoles.includes(r))) {
api.multifactor.enable('any', {
allowRememberBrowser: false, // ← Jamais "remember" pour les admins
});
}
};
Ce script vérifie automatiquement les rôles de l'utilisateur après chaque connexion et active la MFA si nécessaire, renforçant ainsi la sécurité d'accès.
CC6.3 : Revoke access when no longer needed
Pour automatiser la gestion des comptes inactifs et réduire les risques, voici un script qui désactive les comptes inutilisés depuis 90 jours.
# Script de déprovisionning automatique
# Désactiver les comptes inactifs depuis > 90 jours
async def deprovision_inactive_users(mgmt_token: str, domain: str):
from datetime import datetime, timedelta
cutoff = (datetime.utcnow() - timedelta(days=90)).isoformat() + 'Z'
users = await search_users(mgmt_token, domain,
f"last_login:[* TO {cutoff}] AND NOT app_metadata.exempt_from_deprovisioning:true"
)
for user in users['users']:
# Bloquer l'utilisateur (pas supprimer — garder l'audit trail)
await update_user(mgmt_token, domain, user['user_id'], {'blocked': True})
await send_deprovisioning_notification(user['email'])
return len(users['users'])
Ce script identifie et bloque tous les comptes inactifs depuis plus de 90 jours, tout en conservant la traçabilité des accès pour l'audit.
---
CC7 : System Operations
Dans cette partie, nous expliquons comment surveiller les événements de sécurité avec Auth0 afin de répondre aux exigences SOC 2 sur l'exploitation du système.
Monitoring des événements de sécurité
Ce bloc définit les types d’événements Auth0 à surveiller en priorité pour détecter rapidement toute activité anormale ou malveillante.
# Exporter les logs Auth0 vers votre SIEM pour l'audit SOC 2
SECURITY_EVENT_TYPES = [
'f', # Login failure
'fp', # Wrong password
'limit_wc', # Brute force
'pwd_leak', # Breached password
'slo', # Logout
'ss', # Signup
'admin', # Admin operations
'fcoa', # Failed cross-origin auth
'frd', # Rule failure
]
Rapport d'audit mensuel
Cette requête SQL type permet de générer un rapport mensuel des incidents de sécurité, en comptabilisant les échecs de connexion et autres anomalies.
-- Requête sur vos logs exportés (exemple BigQuery)
SELECT
DATE(timestamp) as date,
type,
COUNT(*) as count,
COUNT(DISTINCT user_name) as unique_users
FROM auth0_logs
WHERE timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
AND type IN ('f', 'fp', 'limit_wc', 'pwd_leak')
GROUP BY 1, 2
ORDER BY 1 DESC, 3 DESC;
Ce rapport synthétise les statistiques des principaux événements de sécurité pour un suivi efficace au fil du temps.
---
CC8 : Change Management
Ce volet explique comment garantir la traçabilité et la validation des changements de configuration Auth0 grâce à une intégration CI/CD.
Auth0 Deploy CLI pour tracer tous les changements de configuration :
# Chaque changement de configuration passe par Git
# → Review obligatoire (PR + approbation)
# → Déploiement automatique via CI/CD
# → Historique complet dans Git
name: SOC2 Auth0 Config Change
on:
pull_request:
paths: ['auth0-config/**']
branches: [main]
jobs:
review:
runs-on: ubuntu-latest
steps:
- name: Validate Auth0 config
run: a0deploy import --dry-run
- name: Notify security team
uses: slackapi/slack-github-action@v1
with:
channel-id: '#security-reviews'
slack-message: "Auth0 config change in PR #${{ github.event.number }}"
Cette configuration garantit que tout changement Auth0 est audité, testé, validé et notifié à l’équipe sécurité.
---
Evidence pour les auditeurs SOC 2
Voici un tableau récapitulatif des preuves réclamées par les auditeurs SOC 2 et comment les fournir à partir d'Auth0.
| Evidence demandé | Source Auth0 | Comment l'extraire | |-----------------|-------------|-------------------| | Liste des utilisateurs avec accès | Management API /api/v2/users | Export mensuel | | Logs de connexion | Management API /api/v2/logs | Log Streaming | | Politique MFA | Dashboard screenshot | Capture mensuelle | | Comptes désactivés | Management API | Script automatique | | Changements de configuration | Auth0 Logs (admin type) | Log Streaming |
---
Auth0 est lui-même certifié
Avant de choisir un fournisseur IAM pour des besoins SOC 2, il est rassurant de savoir qu’Auth0 bénéficie déjà des certifications de sécurité majeures.
Auth0 (Okta) possède les certifications suivantes :
- SOC 2 Type II ✅
- ISO 27001 ✅
- ISO 27018 ✅
- HIPAA ✅
- PCI DSS ✅
- CSA STAR Level 2 ✅
Téléchargez les rapports via votre Account Manager ou le Trust Center Auth0.
---
> 📋 Préparation SOC 2 : nous vous accompagnons dans la préparation de votre audit SOC 2 Type II, de l'inventaire des contrôles à la génération des evidences.
📞 +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