Pular para conteúdo

Checklist — Itaú STS CC + gateway B2B (AUTH-14.10)

Operações para habilitar integração Client Credentials + scope no STS Itaú (openid.itau.com.br), convivendo com login humano Azure Enterprise.

Relacionado: integracao_b2b_itau_sts_cc.md · checklist_vars_terraform_b2b_java.md · checklist_b2b_entra_app_only.md (perfil Entra roles — opcional)


1. Itaú STS / identidade (cliente)

Emissor e JWKS

  • [ ] Issuer confirmado: https://openid.itau.com.br/api/oauth/token
  • [ ] URL JWKS documentada e acessível pelo gateway e pelos containers ECS
  • [ ] Algoritmo de assinatura confirmado (RS256 esperado)

Token CC (integrador)

  • [ ] Fluxo client_credentials operacional (lambda/serviço emissor)
  • [ ] Claim flow=CC presente
  • [ ] Claim usr=null (sem usuário humano)
  • [ ] Claim scope inclui scopes QW4 (ex.: qw4-balancetes-fundos-investimentos.read)
  • [ ] sub anotado por ambiente (DEV: lambda fixa; PROD: GUID produção)
  • [ ] Cliente confirmou: aud = sub
  • [ ] Token decodificado em jwt.ms (sem expor secret)

Exemplo DEV (referência):

"sub": "e19c3d92-3603-4a89-923a-1a4bba633591",
"scope": "appid-42e02f44-8897-4513-978b-3ce788b41e27 qw4-balancetes-fundos-investimentos.read resource.READ"

App role Entra

  • [ ] Não aplicável neste perfil — cliente não usa App role / service principal Microsoft para B2B

2. API Gateway (cliente Itaú)

Dois issuers

  • [ ] Authorizer / policy aceita Microsoft (humano) e Itaú STS (M2M)
  • [ ] JWKS configurado para ambos issuers

Humano (regressão)

  • [ ] Issuer: https://login.microsoftonline.com/{tenant-id}/v2.0
  • [ ] Token com scp delegated continua passando
  • [ ] Rotas SPA / external-login inalteradas

M2M Itaú CC

  • [ ] Policy valida claim scope (não exige scp Microsoft)
  • [ ] Scopes exigidos = mesmos nomes QW4 acordados
  • [ ] Allowlist opcional de sub na borda
  • [ ] Audience: validação aud = sub conforme contrato cliente

Comum

  • [ ] JWT ECOSIF (HS256) rejeitado em /ecosif-*
  • [ ] Health / actuator público inalterado

3. eCosif — backend (5 APIs Java)

Aplicar idêntico em: ecosif-auth, ecosif-masterdata, ecosif-moviments, ecosif-querys, ecosif-reports.

Ver checklist detalhado: checklist_vars_terraform_b2b_java.md.

  • [ ] Imagens ≥ versão com AUTH-14.10 implementado
  • [ ] ECOSIF_ENABLE_AZURE_APP_ONLY=true (após onboarding)
  • [ ] ECOSIF_AZURE_APP_REQUIRED_SCOPES preenchido (scopes CC)
  • [ ] ECOSIF_AZURE_APP_REQUIRED_ROLES vazio
  • [ ] ECOSIF_AZURE_APP_ALLOWED_CLIENT_IDS = sub integrador (por ambiente)
  • [ ] ECOSIF_ITAU_STS_ISSUER + ECOSIF_ITAU_STS_JWKS_URI configurados
  • [ ] Variáveis humano Microsoft inalteradas (ECOSIF_AZURE_SCOPES, etc.)
  • [ ] Usuário técnico + ACL empresa/filial
  • [ ] Vínculo POST /api/admin/b2b-app-links com externalId = sub
  • [ ] Flyway ≥ V0.7.00.15 aplicado

4. Homologação E2E (AUTH-14.10.9)

# Caso Serviço testado Esperado
1 Humano Azure → API querys (piloto) 200
2 CC Itaú + scope + vínculo masterdata 200
3 Mesmo token CC → outro serviço querys 200 (sem passar pelo auth)
4 CC sem vínculo qualquer API 401 backend
5 CC scope insuficiente gateway 403 ou 401
6 CC sub errado backend 401 allowlist
7 Logs M2M CloudWatch/Datadog outcome=success + sub mascarado

5. Rollback

Ação Efeito
ECOSIF_ENABLE_AZURE_APP_ONLY=false Desliga M2M; humano inalterado
Remover vínculo B2B Integrador perde acesso; humano OK
Reverter imagem pré-14.10 Perde perfil Itaú; AUTH-14 Entra roles permanece se versão ≥ 0.7.08.202608301

6. Referências

Documento Conteúdo
integracao_b2b_itau_sts_cc.md Desenho completo
manual_implantacao_b2b_itau_sts_cc.md Runbook
variaveis_autenticacao_baseline.md Catálogo vars