Checklist — variáveis e Terraform B2B (5 APIs Java)¶
Matriz de variáveis M2M B2B para implantação ECS/Terraform/Docker Compose — deve ser idêntica em todos os microsserviços Java que expõem APIs de negócio.
PLANID: AUTH-14 / AUTH-14.10
Serviços obrigatórios: ecosif-auth, ecosif-masterdata, ecosif-moviments, ecosif-querys, ecosif-reports
Fora do escopo: ecosif-angular (humano), ecosif-automations, ecosif-compliance
1. Regra de ouro¶
O integrador não obtém token no
ecosif-auth. Cada API valida o mesmo Bearer STS de forma independente.
Portanto: todas as variáveis da seção 3 abaixo devem existir em cada task definition / compose service Java.
2. Matriz por serviço¶
| Variável | auth | masterdata | moviments | querys | reports | Notas |
|---|---|---|---|---|---|---|
| Perímetro humano (Microsoft) | ||||||
ECOSIF_API_TOKEN_MODE |
✓ | ✓ | ✓ | ✓ | ✓ | HYBRID_ECOSIF_AZURE ou AZURE_ENTERPRISE_GATEWAY |
ECOSIF_AUTH_PROVIDER |
✓ | ✓ | ✓ | ✓ | ✓ | AZURE_ENTERPRISE (auth também usa em external-login) |
ECOSIF_AZURE_TENANT_ID |
✓ | ✓ | ✓ | ✓ | ✓ | Tenant Microsoft |
ECOSIF_AZURE_API_AUDIENCE |
✓ | ✓ | ✓ | ✓ | ✓ | aud token humano Microsoft |
ECOSIF_AZURE_EXPECTED_ISSUER |
✓ | ✓ | ✓ | ✓ | ✓ | Issuer Microsoft |
ECOSIF_AZURE_SCOPES |
— | — | — | — | — | Só Angular / MSAL (não backend M2M) |
| M2M B2B (AUTH-14 + 14.10) | ||||||
ECOSIF_ENABLE_AZURE_APP_ONLY |
✓ | ✓ | ✓ | ✓ | ✓ | false até onboarding; true homolog B2B |
ECOSIF_AZURE_APP_LINK_PROVIDER |
✓ | ✓ | ✓ | ✓ | ✓ | Fixo: AZURE_ENTERPRISE_APP |
ECOSIF_AZURE_APP_REQUIRED_ROLES |
✓ | ✓ | ✓ | ✓ | ✓ | Vazio perfil Itaú CC |
ECOSIF_AZURE_APP_REQUIRED_SCOPES |
✓ | ✓ | ✓ | ✓ | ✓ | AUTH-14.10 — scopes CC |
ECOSIF_AZURE_APP_ALLOWED_CLIENT_IDS |
✓ | ✓ | ✓ | ✓ | ✓ | sub integrador por ambiente |
ECOSIF_ITAU_STS_ISSUER |
✓ | ✓ | ✓ | ✓ | ✓ | AUTH-14.10 |
ECOSIF_ITAU_STS_JWKS_URI |
✓ | ✓ | ✓ | ✓ | ✓ | AUTH-14.10 — confirmar cliente |
ECOSIF_ITAU_STS_AUDIENCE_MODE |
✓ | ✓ | ✓ | ✓ | ✓ | AUTH-14.10 — valor NONE (sem aud no token) |
Legenda: ✓ = obrigatório igual em todos · — = não se aplica ao serviço
3. Valores por fase — perfil Itaú CC¶
Fase 1 — deploy código AUTH-14.10 com B2B desligado¶
# Repetir bloco idêntico em: ecosif-auth.tf, ecosif-masterdata.tf, …
{
name = "ECOSIF_ENABLE_AZURE_APP_ONLY"
value = "false"
},
{
name = "ECOSIF_AZURE_APP_LINK_PROVIDER"
value = "AZURE_ENTERPRISE_APP"
},
{
name = "ECOSIF_AZURE_APP_REQUIRED_ROLES"
value = ""
},
{
name = "ECOSIF_AZURE_APP_REQUIRED_SCOPES"
value = ""
},
{
name = "ECOSIF_AZURE_APP_ALLOWED_CLIENT_IDS"
value = ""
},
{
name = "ECOSIF_ITAU_STS_ISSUER"
value = "https://openid.itau.com.br/api/oauth/token"
},
{
name = "ECOSIF_ITAU_STS_JWKS_URI"
value = "" # preencher quando cliente informar
},
{
name = "ECOSIF_ITAU_STS_AUDIENCE_MODE"
value = "NONE"
},
Fase 2 — homolog B2B (após b2b-app-links + smoke)¶
{
name = "ECOSIF_ENABLE_AZURE_APP_ONLY"
value = "true"
},
{
name = "ECOSIF_AZURE_APP_REQUIRED_SCOPES"
value = "qw4-balancetes-fundos-investimentos.read"
# CSV: "scope.read,scope.write" se gravador
},
{
name = "ECOSIF_AZURE_APP_ALLOWED_CLIENT_IDS"
value = "e19c3d92-3603-4a89-923a-1a4bba633591" # sub DEV — trocar em PROD
},
{
name = "ECOSIF_ITAU_STS_JWKS_URI"
value = var.itau_sts_jwks_uri # SSM por ambiente
},
Override por ambiente (módulo pai)¶
Se o Terraform usa concat(..., var.task_environment_vars), homolog/prod pode sobrescrever sem editar cada .tf:
task_environment_vars = [
{ name = "ECOSIF_ENABLE_AZURE_APP_ONLY", value = "true" },
{ name = "ECOSIF_AZURE_APP_REQUIRED_SCOPES", value = "qw4-balancetes-fundos-investimentos.read" },
{ name = "ECOSIF_AZURE_APP_ALLOWED_CLIENT_IDS", value = "e19c3d92-3603-4a89-923a-1a4bba633591" },
]
4. Checklist Terraform Itaú (por arquivo .tf)¶
| # | Item | auth | masterdata | moviments | querys | reports |
|---|---|---|---|---|---|---|
| 1 | Bloco M2M AUTH-14 presente | ☐ | ☐ | ☐ | ☐ | ☐ |
| 2 | Bloco AUTH-14.10 Itaú STS presente | ☐ | ☐ | ☐ | ☐ | ☐ |
| 3 | Vars humano Microsoft inalteradas | ☐ | ☐ | ☐ | ☐ | ☐ |
| 4 | Mesma versão imagem Docker | ☐ | ☐ | ☐ | ☐ | ☐ |
| 5 | SSM itau_sts_jwks_uri por ambiente |
☐ | ☐ | ☐ | ☐ | ☐ |
| 6 | SSM integrator_sub (allowed client) |
☐ | ☐ | ☐ | ☐ | ☐ |
Referência parcial: ecosif-itau/ecosif-auth.tf (expandir para demais serviços).
5. Docker Compose local (espelho)¶
Repetir no environment: de cada serviço Java no compose Itaú — mesmo bloco da seção 3.
Arquivos alvo: docker-compose-itau.yml, .env.itau, env.itau.example (quando atualizados).
6. Variáveis não duplicar / não usar para M2M¶
| Variável | Motivo |
|---|---|
ECOSIF_AUTH_AUTO_PROVISION |
Provisioning humano via external-login |
ECOSIF_AZURE_SCOPES |
MSAL delegated — não validar M2M Itaú |
ECOSIF_AZURE_APP_REQUIRED_ROLES |
Perfil Entra roles — vazio no Itaú CC |
AUTH_TOKEN_SECRET como Bearer integrador |
Integrador usa JWT STS, não HS256 eCosif |
7. Referências¶
| Documento | Conteúdo |
|---|---|
| integracao_b2b_itau_sts_cc.md | Desenho Itaú CC |
| integracao_b2b_entra_app_only.md | Perfil Entra roles |
| variaveis_autenticacao_baseline.md | Catálogo completo |