Ir para o conteúdo principal

Escolher os escopos adequados para a sua integração

Os escopos restringem o que uma chave API pode fazer. Uma chave carrega um ou mais escopos; uma chamada a um endpoint cujo escopo não está presente retorna 403 INSUFFICIENT_SCOPE. Aplique o princípio do menor privilégio: conceda a cada chave apenas os escopos necessários para a sua integração.

Escopos disponíveis

A V1 da API pública expõe quatro escopos:

EscopoPropósitoUso típico
dns:readLeitura de dados DNSWatcher DNS, scripts de CI, ferramentas de troubleshooting
mail:readDiagnósticos de autenticação de emailAuditoria SPF/DKIM/DMARC, monitorização de deliverability
mail:writeOperações custosas de scoring de emailDeliverability score em pipeline
web:readAnálise de página e URLDeteção de phishing, verificação de links

Nenhum escopo implica outro. mail:write não herda de mail:read.

Mapeamento completo de endpoints

dns:read

EndpointCréditosDescrição
POST /public/v1/resolve1Resolução DNS padrão
POST /public/v1/resolve/propagation3Teste de propagação multi-resolver
POST /public/v1/dnssec/check3Verificação da cadeia DNSSEC
POST /public/v1/ip/whois2WHOIS de um IP
POST /public/v1/ip/nslookup1DNS inverso (PTR)
POST /public/v1/ip/netmask1Calculadora de máscara IPv4
POST /public/v1/rdap/lookup2RDAP/WHOIS de domínio
POST /public/v1/domain/dns-check5Auditoria de servidores DNS

mail:read

EndpointCréditosDescrição
POST /public/v1/spf/lookup1Lookup e parsing SPF
POST /public/v1/spf/validate1Validação SPF (sem lookup DNS)
POST /public/v1/dkim/lookup1Lookup DKIM por selector
POST /public/v1/dkim/validate1Validação DKIM (sem lookup DNS)
POST /public/v1/dmarc/lookup1Lookup e parsing DMARC
POST /public/v1/dmarc/validate1Validação DMARC (sem lookup DNS)
POST /public/v1/bimi/lookup2Lookup BIMI com recuperação do logo
POST /public/v1/bimi/validate2Validação BIMI (sem lookup DNS)
POST /public/v1/bimi/logo/lookup2Descarregamento e validação do logótipo BIMI
POST /public/v1/mta-sts/lookup2Lookup da policy MTA-STS
POST /public/v1/tls-rpt/lookup2Lookup TLS-RPT
POST /public/v1/dane/lookup2Lookup DANE/TLSA para SMTP
POST /public/v1/blacklist/ip5Blacklist check multi-RBL
POST /public/v1/smtp/check6Teste SMTP (HELO, STARTTLS, AUTH)
POST /public/v1/mail/header-audit2Análise de header bruto de email
POST /public/v1/mail/header-analyze2Análise de headers de email
POST /public/v1/mail/domain-check10Auditoria completa de domínio de email
POST /public/v1/dmarcbis/check2Análise DMARCbis Tree Walk
POST /public/v1/dmarc/report/analyze5Análise de relatório DMARC agregado
POST /public/v1/certificats/bimi/parse1Parsing de certificado BIMI/VMC
POST /public/v1/certificats/bimi/lookup2Descarregamento e parsing de certificado BIMI
GET /public/v1/spf/hosted1Lista dos perfis SPF alojados da chave
GET /public/v1/spf/hosted/{id}1Detalhe de um perfil SPF alojado
GET /public/v1/spf/hosted/{id}/history2Histórico de resolução de um perfil (paginado)
GET /public/v1/spf/hosted/{id}/stats2Estatísticas de um perfil (24 horas, 7 dias, 30 dias)

mail:write

EndpointCréditosDescrição
POST /public/v1/deliverability/score30Score agregado de DMARC, BIMI e reputação
POST /public/v1/dmarc/generate1Gerador de registo DMARC
POST /public/v1/dmarcbis/migrate1Migração de DMARC para DMARCbis
POST /public/v1/spf/hosted/{id}/resolve5Re-resolução forçada de um perfil SPF alojado

O escopo mail:write isola os endpoints de escrita. É recomendada uma chave dedicada se a sua integração usar o score de entregabilidade, para reduzir o impacto em caso de fuga.

web:read

EndpointCréditosDescrição
POST /public/v1/url/check3Análise da cadeia de redirecionamentos
POST /public/v1/page/crawl-check10Crawl de página com extração de meta
POST /public/v1/phishing/check8Deteção heurística de phishing
POST /public/v1/http/headers-check2Cabeçalhos HTTP, cadeia de redirecionamentos, TLS
POST /public/v1/http/hsts-check3Análise HSTS e elegibilidade para preload
POST /public/v1/certificates/ssl/check2Certificado TLS de um servidor web e a sua cadeia
POST /public/v1/certificates/csr/parse2Análise de conformidade de um CSR

Transição de escopo em /certificates/csr/parse. Este endpoint pertencia à família mail:read e custava 1 crédito. Como um CSR não tem nada especificamente de mail, o seu escopo alvo passa a ser web:read e o seu custo é de 2 créditos. Para não quebrar nenhuma chave já emitida, mail:read continua a ser aceite durante um período de transição, mas será retirado: crie as suas novas chaves com web:read e acrescente web:read às chaves existentes que chamam este endpoint.

Nota: os 15 endpoints da família text/* (encoding base64, conversão JSON/YAML, hash, slug, regex, password, etc.) também estão vinculados ao escopo dns:read para simplificar a atribuição. Não efetuam nenhuma resolução DNS. Consulte a referência OpenAPI para a lista completa.

Estratégias de atribuição

Chave única com todos os escopos (frágil, não recomendado): útil para prototipar, perigoso em produção.

Uma chave por serviço (recomendado): cada microserviço ou script tem a sua própria chave com apenas os escopos necessários.

Uma chave por ambiente: dev, staging e produção têm cada um as suas chaves, distinguidas pelo prefixo.

Chave com escopo único para mail:write: separar o deliverability score do restante evita que um loop involuntário consuma toda a cota.

Adicionar ou remover um escopo

Os escopos são fixados na criação. Para modificá-los numa chave existente:

  1. Crie uma nova chave com os escopos desejados.
  2. Implante-a no seu gestor de segredos.
  3. Revogue a chave antiga.

Ferramentas CaptainDNS relacionadas

Próximo passo: o modelo de créditos e depois o rate limiting.