Aller au contenu principal

Choisir les scopes adaptés à son intégration

Les scopes restreignent ce qu'une clé API peut faire. Une clé porte un ou plusieurs scopes ; un appel vers un endpoint dont le scope n'est pas présent retourne 403 INSUFFICIENT_SCOPE. Adoptez le principe du moindre privilège : donnez à chaque clé le minimum de scopes requis par l'intégration qu'elle sert.

Scopes disponibles

L'API publique V1 expose quatre scopes :

ScopeIntentionExemple d'usage
dns:readLecture de données DNSWatcher DNS, scripts de CI, outil de troubleshooting
mail:readDiagnostics d'authentification emailAudit SPF/DKIM/DMARC, monitoring délivrabilité
mail:writeOpérations coûteuses liées au score d'emailScore de délivrabilité, génération DMARC
web:readAnalyse de pages et d'URLDétection phishing, vérification de liens dans un produit

Aucun scope n'implique un autre. mail:write n'hérite pas de mail:read : si votre clé fait du DMARC check et du score de délivrabilité, elle doit porter les deux scopes.

Mapping complet des endpoints

dns:read

EndpointCréditsDescription
POST /public/v1/resolve1Résolution DNS standard
POST /public/v1/resolve/propagation3Test de propagation multi-resolvers
POST /public/v1/dnssec/check3Vérification de la chaîne DNSSEC
POST /public/v1/ip/whois2WHOIS d'une adresse IP
POST /public/v1/ip/nslookup1Reverse DNS (PTR)
POST /public/v1/ip/netmask1Calculateur de masque IPv4
POST /public/v1/rdap/lookup2RDAP/WHOIS de domaine
POST /public/v1/domain/dns-check5Audit de serveurs DNS

mail:read

EndpointCréditsDescription
POST /public/v1/spf/lookup1Lookup et parsing SPF
POST /public/v1/spf/validate1Validation SPF (sans lookup DNS)
POST /public/v1/dkim/lookup1Lookup DKIM par sélecteur
POST /public/v1/dkim/validate1Validation DKIM (sans lookup DNS)
POST /public/v1/dmarc/lookup1Lookup et parsing DMARC
POST /public/v1/dmarc/validate1Validation DMARC (sans lookup DNS)
POST /public/v1/bimi/lookup2Lookup BIMI avec récupération du logo
POST /public/v1/bimi/validate2Validation BIMI (sans lookup DNS)
POST /public/v1/bimi/logo/lookup2Téléchargement et validation de logo BIMI
POST /public/v1/mta-sts/lookup2Lookup de la policy MTA-STS
POST /public/v1/tls-rpt/lookup2Lookup TLS-RPT
POST /public/v1/dane/lookup2Lookup DANE/TLSA pour SMTP
POST /public/v1/blacklist/ip5Check blacklist multi-RBL
POST /public/v1/smtp/check6Test SMTP (HELO, STARTTLS, AUTH)
POST /public/v1/mail/header-audit2Analyse d'un header brut d'email
POST /public/v1/mail/header-analyze2Analyse de headers email
POST /public/v1/mail/domain-check10Audit complet de domaine email
POST /public/v1/dmarcbis/check2Analyse DMARCbis Tree Walk
POST /public/v1/dmarc/report/analyze5Analyse de rapport DMARC agrégé
POST /public/v1/certificates/csr/parse1Parsing de CSR
POST /public/v1/certificats/bimi/parse1Parsing de certificat BIMI/VMC
POST /public/v1/certificats/bimi/lookup2Téléchargement et parsing de certificat BIMI

mail:write

EndpointCréditsDescription
POST /public/v1/deliverability/score30Score agrégé DMARC, BIMI, réputation
POST /public/v1/dmarc/generate1Générateur d'enregistrement DMARC
POST /public/v1/dmarcbis/migrate1Migration DMARC vers DMARCbis

Le scope mail:write isole les endpoints de modification. Il est recommandé de créer une clé dédiée si votre intégration utilise le score de délivrabilité, afin de réduire l'impact en cas de fuite.

web:read

EndpointCréditsDescription
POST /public/v1/url/check3Analyse de chaîne de redirections
POST /public/v1/page/crawl-check10Crawl d'une page et extraction de meta
POST /public/v1/phishing/check8Détection phishing heuristique

Stratégies d'attribution

Clé unique tous scopes (fragile, déconseillé) : vous donnez à un seul secret l'accès à toute l'API. Pratique pour prototyper, dangereux en production. Passez à une stratégie multi-clés dès que l'intégration est stable.

Une clé par service (recommandé) : chaque microservice ou script porte sa propre clé, avec uniquement les scopes dont il a besoin. Si un service fuite sa clé, l'incident reste circonscrit à son périmètre.

Une clé par environnement : dev, staging, prod ont chacun leur jeu de clés, distinguées par préfixe (cdns_test_* vs cdns_live_*) et par nom dans le dashboard. Simplifie les dashboards de consommation et les alertes.

Clé à scope unique pour mail:write : séparer le score de délivrabilité (30 crédits) du reste évite qu'une boucle involontaire sur ce seul endpoint ne ruine votre quota. La clé dédiée peut aussi avoir un rate limit applicatif plus strict côté client.

Ajouter ou retirer un scope

Les scopes sont fixés à la création de la clé. Pour modifier les scopes d'une clé existante :

  1. Créez une nouvelle clé avec les scopes désirés.
  2. Déployez la nouvelle clé dans votre secret manager.
  3. Révoquez l'ancienne clé.

Cette procédure évite qu'un scope retiré ne casse subitement une intégration en cours d'exécution. Les grandes rotations de scopes peuvent aussi passer par la rotation avec grace period si la structure générale reste la même.

Outils CaptainDNS liés

Les outils web suivants couvrent les mêmes diagnostics. Utiles pour valider à la main un résultat surprenant de l'API :

Prochaine étape : comprenez le modèle de credits pour estimer le coût mensuel de votre intégration, puis lisez le rate limiting.