Saltar para o conteúdo principal
Versão Next

Segurança — Kafka (UI)

Este documento cobre a autenticação da interface web Kafka UI. Os listeners do cluster (plain e TLS) são configurados nos parâmetros do cluster Kafka — consulte Configuração do Kafka para detalhes sobre os listeners de broker.

O Kafka UI suporta dois modos de autenticação:

ModoDescrição
LOGIN_FORMUsuário e senha definidos diretamente no values.yaml
LDAPAutenticação delegada a um servidor LDAP/AD corporativo

LOGIN_FORM (padrão)

O modo LOGIN_FORM é o padrão do chart e requer apenas a definição de usuário e senha:

kafka-ui:
yamlApplicationConfig:
auth:
type: LOGIN_FORM
spring:
security:
user:
name: admin
password: <ui-password>
Senha padrão em produção

O chart instala com password: admin por predefinição. Troque essa senha antes de expor a interface fora da rede interna do cluster. Use arquivos de valores privados (não versionados) ou mecanismos de Secret do seu ambiente para proteger a credencial.

LDAP

O modo LDAP delega a autenticação ao servidor LDAP ou Active Directory corporativo. É o modo recomendado em ambientes compartilhados ou quando há política de identidade centralizada.

kafka-ui:
yamlApplicationConfig:
auth:
type: LDAP
spring:
ldap:
urls: ldap://<ldap-host>:389
base: "<ldap-base-dn>"
admin-user: "<ldap-bind-dn>"
admin-password: "<ldap-bind-password>"
CampoDescriçãoExemplo
urlsEndereço do servidor LDAPldap://ldap.empresa.com.br:389
baseBase DN de busca de usuáriosdc=empresa,dc=com,dc=br
admin-userDN do usuário de bind (consulta)uid=kafkaui,cn=users,cn=accounts,dc=empresa,dc=com,dc=br
admin-passwordSenha do usuário de bindNão versionar — use secrets
Gerenciamento da senha de bind

Não armazene <ldap-bind-password> em repositório Git. A injeção via variável de ambiente depende da versão do Kafka UI — consulte helm show values e a documentação da subchart para opções de extraEnvVars disponíveis na sua versão.

Uso de LDAPS (TLS)

Para conexão segura ao servidor LDAP, substitua o esquema ldap:// por ldaps:// e use a porta 636:

spring:
ldap:
urls: ldaps://<ldap-host>:636

Certifique-se de que o certificado da CA do servidor LDAP está presente no truststore do pod. Em ambientes que usam PKI própria, pode ser necessário montar o certificado como volume e configurá-lo no runtime.

Recomendações

AspectoRecomendação
Ambiente de desenvolvimentoLOGIN_FORM com senha forte, acesso via port-forward
Ambiente compartilhado / produçãoLDAP com LDAPS (porta 636)
CredenciaisNunca versionar senhas em values.yaml público; usar arquivos privados ou gestão de Secrets
Exposição da UIPrefira acesso via Ingress com TLS ou port-forward controlado; evite NodePort em redes abertas

Resolução de Problemas

ProblemaCausa provávelSolução
Credenciais inválidas na UI (LOGIN_FORM)Senha incorreta ou campo name/password com typoVerificar spring.security.user nos valores aplicados
Login LDAP falha com "invalid credentials"Bind DN ou senha incorretosTestar bind com ldapsearch ou ferramenta LDAP externa
Login LDAP falha com "connection refused"Host/porta LDAP inacessível pelo podVerificar conectividade de rede e firewalls do cluster
Mudanças no yamlApplicationConfig não refletemPod não reiniciado após atualizaçãoForçar rollout: kubectl -n <namespace> rollout restart deployment kafka-ui