Vai al contenuto principale

Scegliere gli scope adatti alla tua integrazione

Gli scope limitano ciò che una chiave API può fare. Una chiave porta uno o più scope; una chiamata a un endpoint con scope mancante restituisce 403 INSUFFICIENT_SCOPE. Applica il principio del minimo privilegio: assegna a ciascuna chiave solo gli scope richiesti dall'integrazione.

Scope disponibili

La V1 dell'API pubblica espone quattro scope:

ScopeScopoUso tipico
dns:readLettura di dati DNSWatcher DNS, script CI, strumenti di troubleshooting
mail:readDiagnosi di autenticazione emailAudit SPF/DKIM/DMARC, monitoraggio deliverability
mail:writeOperazioni onerose legate allo scoring emailDeliverability score in pipeline
web:readAnalisi di pagine e URLRilevamento phishing, verifica di link

Nessuno scope implica un altro. mail:write non eredita da mail:read.

Mapping completo degli endpoint

dns:read

EndpointCreditiDescrizione
POST /public/v1/resolve1Risoluzione DNS standard
POST /public/v1/resolve/propagation3Test di propagazione multi-resolver
POST /public/v1/dnssec/check3Verifica della catena DNSSEC
POST /public/v1/ip/whois2WHOIS di un indirizzo IP
POST /public/v1/ip/nslookup1Reverse DNS (PTR)
POST /public/v1/ip/netmask1Calcolatore di maschera IPv4
POST /public/v1/rdap/lookup2RDAP/WHOIS di dominio
POST /public/v1/domain/dns-check5Audit dei server DNS

mail:read

EndpointCreditiDescrizione
POST /public/v1/spf/lookup1Lookup e parsing SPF
POST /public/v1/spf/validate1Validazione SPF (senza lookup DNS)
POST /public/v1/dkim/lookup1Lookup DKIM per selector
POST /public/v1/dkim/validate1Validazione DKIM (senza lookup DNS)
POST /public/v1/dmarc/lookup1Lookup e parsing DMARC
POST /public/v1/dmarc/validate1Validazione DMARC (senza lookup DNS)
POST /public/v1/bimi/lookup2Lookup BIMI con recupero del logo
POST /public/v1/bimi/validate2Validazione BIMI (senza lookup DNS)
POST /public/v1/bimi/logo/lookup2Download e validazione di logo BIMI
POST /public/v1/mta-sts/lookup2Lookup della policy MTA-STS
POST /public/v1/tls-rpt/lookup2Lookup TLS-RPT
POST /public/v1/dane/lookup2Lookup DANE/TLSA per SMTP
POST /public/v1/blacklist/ip5Blacklist check multi-RBL
POST /public/v1/smtp/check6Test SMTP (HELO, STARTTLS, AUTH)
POST /public/v1/mail/header-audit2Analisi di header grezzo di email
POST /public/v1/mail/header-analyze2Analisi di header email
POST /public/v1/mail/domain-check10Audit completo di dominio email
POST /public/v1/dmarcbis/check2Analisi DMARCbis Tree Walk
POST /public/v1/dmarc/report/analyze5Analisi di report DMARC aggregato
POST /public/v1/certificats/bimi/parse1Parsing di certificato BIMI/VMC
POST /public/v1/certificats/bimi/lookup2Download e parsing di certificato BIMI
GET /public/v1/spf/hosted1Elenco dei profili SPF ospitati della chiave
GET /public/v1/spf/hosted/{id}1Dettaglio di un profilo SPF ospitato
GET /public/v1/spf/hosted/{id}/history2Storico di risoluzione di un profilo (paginato)
GET /public/v1/spf/hosted/{id}/stats2Statistiche di un profilo (24 ore, 7 giorni, 30 giorni)

mail:write

EndpointCreditiDescrizione
POST /public/v1/deliverability/score30Score aggregato di DMARC, BIMI e reputazione
POST /public/v1/dmarc/generate1Generatore di record DMARC
POST /public/v1/dmarcbis/migrate1Migrazione da DMARC a DMARCbis
POST /public/v1/spf/hosted/{id}/resolve5Ri-risoluzione forzata di un profilo SPF ospitato

Lo scope mail:write isola gli endpoint di modifica. Se la tua integrazione usa lo score di recapitabilità, è consigliabile creare una chiave dedicata per ridurre l'impatto in caso di fuga.

web:read

EndpointCreditiDescrizione
POST /public/v1/url/check3Analisi della catena di redirect
POST /public/v1/page/crawl-check10Crawl di pagina con estrazione di meta
POST /public/v1/phishing/check8Rilevamento euristico di phishing
POST /public/v1/http/headers-check2Header HTTP, catena di redirect, TLS
POST /public/v1/http/hsts-check3Analisi HSTS e idoneità al preload
POST /public/v1/certificates/ssl/check2Certificato TLS di un server web e la sua catena
POST /public/v1/certificates/csr/parse2Analisi di conformità di un CSR

Transizione di scope su /certificates/csr/parse. Questo endpoint apparteneva alla famiglia mail:read e costava 1 credito. Poiché un CSR non ha nulla di specificamente mail, il suo scope di destinazione è ora web:read e il suo costo è di 2 crediti. Per non rompere nessuna chiave già emessa, mail:read resta accettato durante un periodo di transizione, ma sarà rimosso: crea le nuove chiavi con web:read e aggiungi web:read alle chiavi esistenti che chiamano questo endpoint.

Nota: i 15 endpoint della famiglia text/* (encoding base64, conversione JSON/YAML, hash, slug, regex, password, ecc.) sono anch'essi collegati allo scope dns:read per semplificare l'assegnazione. Non effettuano alcuna risoluzione DNS. Consulta il riferimento OpenAPI per l'elenco completo.

Strategie di assegnazione

Una sola chiave con tutti gli scope (fragile, sconsigliato): comodo per prototipare, pericoloso in produzione.

Una chiave per servizio (consigliato): ogni microservizio o script ha la sua chiave con solo gli scope necessari.

Una chiave per ambiente: dev, staging e prod hanno ciascuno la propria chiave, distinte dal prefisso.

Chiave a scope unico per mail:write: separare lo scoring costoso evita che un ciclo involontario prosciughi la quota.

Aggiungere o rimuovere uno scope

Gli scope sono fissati alla creazione. Per modificarli su una chiave esistente:

  1. Crea una nuova chiave con gli scope desiderati.
  2. Distribuiscila nel tuo gestore di segreti.
  3. Revoca la vecchia chiave.

Strumenti CaptainDNS correlati

Prossimo passo: il modello di crediti e poi il rate limiting.