User Story
Como responsável pela infraestrutura de APIs,
Quero restringir o acesso ao endpoint /process da embeddings-api apenas para serviços autorizados,
Para que evitemos abuso financeiro (billing) e indisponibilidade por consumo não autorizado.
Contexto
Durante pentest realizado pelo CPQD (17/03/2026), foi identificado que o endpoint /process da embeddings-api está acessível publicamente sem autenticação.
Vulnerabilidade: [V04] - Exposição de Endpoint sem Autenticação no Cloud Run
Severidade: Médio (CVSS 5.3)
Referência: Relatório CPQD INSPIRE-M7-Destaquesgovbr (pág. 23-24)
Serviço afetado:
https://destaquesgovbr-embeddings-api-990583792367.southamerica-east1.run.app/process
Impacto:
- Billing Abuse: Invocações em massa por terceiros podem gerar custos excessivos de processamento
- DoS: Uso não autorizado consome quotas de processamento, podendo deixar serviço offline
- Governança: Desconformidade com best practices de segurança em nuvem
Evidência:
Teste realizado com curl demonstrou capacidade de invocar função sem credenciais:
curl -X POST https://destaquesgovbr-embeddings-api-[...]/process \
-H "Content-Type: application/json" \
-d '{"message": {"data": "...", "attributes": {...}}}'
# Resultado: HTTP 200 (processamento executado)
Critérios de Aceite
Implementação
PR: destaquesgovbr/infra#161
Plano técnico: infra/_plan/restrict-embeddings-api-access.md
Mudança: Removida IAM binding allUsers → roles/run.invoker e adicionada IAM binding pubsub_push SA → roles/run.invoker em terraform/embeddings-api.tf.
Validação pós-deploy (2026-03-25):
curl anônimo → HTTP 403
- IAM policy confirma apenas
pubsub_push SA como invoker
- Logs Cloud Run confirmam POST /process → 200 via Pub/Sub push
- Pipeline de embeddings operacional (artigo processado + evento publicado)
Dependências
- Acesso ao Cloud Run no GCP
- Permissões IAM para configurar service accounts
- Relacionada: docs#23 (Epic Segurança & IAM)
User Story
Como responsável pela infraestrutura de APIs,
Quero restringir o acesso ao endpoint
/processda embeddings-api apenas para serviços autorizados,Para que evitemos abuso financeiro (billing) e indisponibilidade por consumo não autorizado.
Contexto
Durante pentest realizado pelo CPQD (17/03/2026), foi identificado que o endpoint
/processda embeddings-api está acessível publicamente sem autenticação.Vulnerabilidade: [V04] - Exposição de Endpoint sem Autenticação no Cloud Run
Severidade: Médio (CVSS 5.3)
Referência: Relatório CPQD INSPIRE-M7-Destaquesgovbr (pág. 23-24)
Serviço afetado:
Impacto:
Evidência:
Teste realizado com
curldemonstrou capacidade de invocar função sem credenciais:Critérios de Aceite
roles/run.invokerremovida deallUsersroles/run.invokerImplementação
PR: destaquesgovbr/infra#161
Plano técnico:
infra/_plan/restrict-embeddings-api-access.mdMudança: Removida IAM binding
allUsers→roles/run.invokere adicionada IAM bindingpubsub_pushSA →roles/run.invokeremterraform/embeddings-api.tf.Validação pós-deploy (2026-03-25):
curlanônimo → HTTP 403pubsub_pushSA como invokerDependências