Pular para conteúdo

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"
},
{
  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