Segurança — Trino
O chart tdp-trino suporta autenticação LDAP quando ldap.enabled: true no arquivo de valores. Comportamento resumido:
ldap.enabled: false(padrão): HTTP (porta 8080), sem autenticação obrigatória, sem volumes de certificado extras para esse fluxo.ldap.enabled: true(com values de LDAP): HTTPS (porta 8443), autenticação PASSWORD, certificados e secrets associados.
Recursos opcionais de certificado: trinoCerts.pvc, trinoCerts.secret, trinoCerts.copyJob — ver values.yaml do chart.
Preparação
- Servidor LDAP acessível a partir do cluster.
- Keystore/senhas necessários para HTTPS, armazenados em Secrets Kubernetes (não commite valores reais no Git).
Criar Secret com materiais de TLS (exemplo)
kubectl -n <namespace> create secret generic <nome-secret-certificados> \
--from-file=keystore.jks=<caminho-local>/keystore.jks
Ajuste nomes de chaves aos que o chart espera (confira na exportação de valores do Helm).
LDAP habilitado (ilustrativo)
Um arquivo complementar (por exemplo values-ldap.yaml) costuma definir ldap.enabled: true e ajustar trino.server.config (HTTPS, authenticationType, etc.). Substitua hosts, DNs e secrets pelos do seu diretório:
ldap:
enabled: true
trino:
server:
config:
https:
enabled: true
port: 8443
keystore:
path: "/etc/trino/certs/keystore.jks"
authenticationType: "PASSWORD"
# Volumes, mounts e ficheiros adicionais: siga os comentários em helm show values
Instalação ou upgrade:
helm upgrade --install <release> oci://registry.tecnisys.com.br/tdp/charts/tdp-trino \
-n <namespace> --create-namespace \
-f values.yaml \
-f values-ldap.yaml
Conectar com cliente Trino
HTTP (LDAP desabilitado):
kubectl -n <namespace> port-forward service/<release> 8080:8080 &
trino --server http://localhost:8080
HTTPS (LDAP habilitado):
kubectl -n <namespace> port-forward service/<release> 8443:8443 &
trino --server https://localhost:8443 \
--user <usuario-ldap> \
--password \
--insecure
Em produção, prefira validar o certificado em vez de --insecure.
Comparativo rápido
| Modo | Porta típica | Autenticação | HTTPS |
|---|---|---|---|
ldap.enabled: false | 8080 | Nenhuma (padrão chart) | Não |
ldap.enabled: true | 8443 | PASSWORD (LDAP) | Sim |
Parâmetros principais
| Parâmetro | LDAP desligado | LDAP ligado |
|---|---|---|
ldap.enabled | false | true |
trino.server.config.https.enabled | false | true |
trino.server.config.authenticationType | "" | PASSWORD |
trinoCerts.pvc.enabled | false | true (típico) |
trinoCerts.secret.enabled | false | true (típico) |
Boas práticas
- Preferir LDAPS (porta 636) em produção em vez de LDAP simples.
- Rotacionar senhas de keystore e secrets.
- Restringir permissões do usuário de bind LDAP.
Resolução de Problemas
| Problema | O que verificar |
|---|---|
| Pod não sobe com LDAP | Paths do keystore, Secret e trinoCerts.* |
| Falha de login | Padrão de bind/DN e conectividade ao LDAP |
| Erro de porta | Cliente usando 8080 vs 8443 conforme modo |
Para a lista completa de parâmetros, use helm show values na versão do chart que instalou.