Configuração do Ranger
O que é o Apache Ranger no TDP?
O Apache Ranger é um framework de segurança centralizado para plataformas de dados.
Em vez de cada serviço gerenciar suas próprias regras de acesso, o Ranger fornece um ponto único onde você define quem pode fazer o quê em qual recurso.
Os serviços integrados consultam essas políticas para permitir ou negar ações em tempo de execução.
No TDP Kubernetes, o Ranger atua como ponto central de administração de políticas de acesso para os serviços que possuem integração habilitada.
Cada integração usa o mecanismo de autorização compatível com o respectivo serviço para consultar o Ranger Admin e aplicar as decisões de acesso conforme as políticas configuradas.
Consulte Apache Ranger - Conceitos para uma visão completa da ferramenta, seu modelo de plugins e funcionamento.
Estrutura de valores (Helm)
O chart tdp-ranger usa três blocos principais de valores:
tdp-ranger:— configuração do Ranger Admin: recursos, credenciais, banco de dados, Solr, OpenShift.rangerIntegrations:— automação de cadastro de serviços no Ranger Admin e políticas declarativas.TDP-Settings:— helpers TDP para banco externo e exposição HTTP/HTTPS.
tdp-ranger:
ranger:
adminUser: admin
database:
host: "<POSTGRESQL_SERVICE>.<NAMESPACE>.svc.cluster.local"
port: 5432
Arquitetura e componentes
| Componente | Função |
|---|---|
| Ranger Admin | Interface e API central para cadastro de serviços, políticas e auditoria |
| PostgreSQL | Armazena metadados do Ranger, como políticas, usuários e configuração |
| Solr | Armazena logs de auditoria quando habilitado pelo subchart |
| Plugins e integrações | Permitem que serviços configurados consultem o Ranger para autorização |
| Job de integrações | Automatiza o cadastro no Ranger Admin dos serviços habilitados em rangerIntegrations e das políticas declaradas em defaultPolicies, quando configuradas |
O Ranger Admin é o ponto central de administração.
Os serviços integrados continuam executando suas cargas normalmente, mas consultam as políticas cadastradas no Ranger para decidir se uma ação deve ser permitida.
Visão geral
| Propriedade | Valor |
|---|---|
| Chart | tdp-ranger |
| Versão do Ranger | 2.7.0 |
| Versão do Chart | 3.0.1 |
| AppVersion do chart | 2.7.0 |
| Registry | oci://registry.tecnisys.com.br/tdp/charts/tdp-ranger |
Páginas relacionadas
- Segurança - Ranger: credenciais, LDAP/AD, UserSync, LDAPS e boas práticas.
- Integrações - Ranger: automação de cadastro no Ranger Admin, exemplos de integrações e políticas declaradas em
defaultPolicies. - Exposição externa - Ranger: exposição do Ranger Admin por Ingress ou Gateway API.
Pré-requisitos
Antes de instalar ou customizar o chart tdp-ranger, confirme:
- Kubernetes 1.32+, Red Hat OpenShift 4.19+ ou Rancher Manager 2.10.x+.
- Helm 3.2.0+.
- StorageClass disponível para volumes persistentes.
- Registry OCI da Tecnisys acessível pelo ambiente de instalação.
- Senha forte definida para o usuário administrador do Ranger.
- Definição prévia de banco PostgreSQL interno ou externo para metadados.
- Quando usar integrações: serviços de destino implantados, acessíveis por rede e configurados para usar o mecanismo de autorização compatível.
- Instalação
- Parâmetros principais
- Detalhes de configuração
- Acesso & Segurança
- Solução de problemas
- Desinstalação
Instalação
helm install <RELEASE_NAME> oci://registry.tecnisys.com.br/tdp/charts/tdp-ranger -n <NAMESPACE> --create-namespace --timeout 10m
Ajuste credenciais, banco de dados, persistência do Solr, exposição de rede e integrações pelo seu arquivo de valores.
Em OpenShift, habilite tdp-ranger.openshift.enabled=true para criar o RoleBinding que associa a ServiceAccount do Ranger à SCC anyuid.
Essa configuração é necessária porque o container do Ranger executa scripts que exigem permissões elevadas.
helm install <RELEASE_NAME> oci://registry.tecnisys.com.br/tdp/charts/tdp-ranger -n <NAMESPACE> --create-namespace --timeout 10m --set tdp-ranger.openshift.enabled=true
Valide a criação do RoleBinding no namespace:
oc get rolebinding -n <NAMESPACE> | grep anyuid
oc describe rolebinding <RELEASE_NAME>-openshift-anyuid-scc -n <NAMESPACE>
Parâmetros principais
| Parâmetro | Descrição | Valor padrão |
|---|---|---|
tdp-ranger.enabled | Habilitar o deploy do Ranger | true |
tdp-ranger.clusterLabel | Label de cluster | tdp |
tdp-ranger.ranger.adminUser | Usuário admin Ranger | admin |
tdp-ranger.ranger.adminPassword | Senha admin Ranger | ChangeMe!2026 (exemplo — alterar antes de produção) |
tdp-ranger.ranger.dbUser | Usuário do banco | ranger |
tdp-ranger.ranger.dbPassword | Senha do banco | ChangeMe!2026 (exemplo — alterar antes de produção) |
tdp-ranger.ranger.existingSecret | Secret existente para credenciais do DB | <RELEASE_NAME>-ranger-database |
tdp-ranger.ranger.existingSecretPasswordKey | Chave da senha no Secret | password |
tdp-ranger.ranger.database.host | Host do banco | <POSTGRESQL_SERVICE>.<NAMESPACE>.svc.cluster.local |
tdp-ranger.ranger.database.port | Porta do banco | 5432 |
TDP-Settings.externalDatabase.enabled | Habilitar job de bootstrap do DB externo | false |
TDP-Settings.externalDatabase.recreate | Recriar DB em install/upgrade | true |
TDP-Settings.externalDatabase.externalSecret.releaseName | Nome do release PostgreSQL | tdp-postgresql |
rangerIntegrations.configJob.enabled | Habilitar job de integrações | false |
rangerIntegrations.configJob.image | Imagem do job | registry.tecnisys.com.br/community/images/python:3.11-slim |
rangerIntegrations.configJob.rangerReadyTimeout | Timeout de prontidão, em segundos | 600 |
rangerIntegrations.configJob.retryInterval | Intervalo de retry, em segundos | 10 |
rangerIntegrations.kafka.enabled | Integração Kafka | false |
rangerIntegrations.nifi.enabled | Integração NiFi | false |
rangerIntegrations.trino.enabled | Integração Trino | false |
tdp-ranger.solr.persistence.enabled | Persistência Solr | true |
tdp-ranger.solr.persistence.size | Tamanho do PVC Solr | 1Gi |
tdp-ranger.solr.persistence.storageClassName | StorageClass Solr | "" |
tdp-ranger.openshift.enabled | Cria RoleBinding para SCC anyuid no OpenShift | false |
TDP-Settings.gateway.ingress.enabled | Habilita Ingress para o Ranger Admin | false |
TDP-Settings.gateway.gatewayApi.enabled | Habilita HTTPRoute via Gateway API | false |
A senha do Ranger Admin deve conter no mínimo 8 caracteres, com letras maiúsculas, minúsculas, número e caractere especial.
Para a lista completa de parâmetros, consulte os valores da versão instalada do chart.
Banco de dados e auditoria
O Ranger usa PostgreSQL para armazenar políticas, usuários e configurações.
O banco pode ser fornecido pelo próprio release ou por uma instância externa já existente.
Quando usar banco externo, o job de bootstrap cria o banco e o usuário do Ranger e grava as credenciais no Secret esperado pelo deployment.
Esse job só é criado quando o PostgreSQL embutido está desabilitado e TDP-Settings.externalDatabase.enabled=true.
O Secret de administrador do PostgreSQL tem o nome definido por TDP-Settings.externalDatabase.externalSecret.releaseName (padrão: tdp-postgresql) e a chave esperada é postgres-password.
Erros de permissão, host incorreto ou Secret ausente aparecem como falha no job de bootstrap.
O Solr é usado para auditoria.
Mantenha persistência habilitada e ajuste tdp-ranger.solr.persistence.size e tdp-ranger.solr.persistence.storageClassName de acordo com retenção, volume de eventos e política operacional do cluster.
Integrações
Quando a automação de integrações está habilitada, o chart executa um job de configuração após a instalação ou atualização.
Esse job atua no lado do Ranger Admin: aguarda o Ranger ficar acessível, cadastra os serviços habilitados em rangerIntegrations e cria as políticas declaradas em defaultPolicies, quando configuradas.
Ele não configura, por si só, o serviço integrado para consultar o Ranger em tempo de execução.
A configuração do componente integrado deve seguir a documentação específica desse componente.
Consulte Integrações - Ranger para exemplos.
Segurança
Substitua credenciais de exemplo, mantenha senhas em Secrets e limite permissões do usuário administrador.
Quando usar LDAP/AD, configure bind DN, filtros de usuário/grupo, UserSync, roles e LDAPS conforme o diretório corporativo.
Consulte Segurança - Ranger para detalhes de LDAP/AD, UserSync, LDAPS, credenciais e boas práticas.
Acesso
Liste os Services criados pelo release:
kubectl -n <NAMESPACE> get svc -l app.kubernetes.io/instance=<RELEASE_NAME>
O Ranger Admin normalmente responde no Service <RELEASE_NAME>-ranger pela porta 6080.
Para depuração local:
kubectl -n <NAMESPACE> port-forward svc/<RELEASE_NAME>-ranger 6080:6080
Acesso local: http://localhost:6080.
Exposição externa
Ingress e Gateway API são mutuamente exclusivos, controlados por TDP-Settings.gateway.*. O Ranger Admin é exposto na porta 6080.
Para os exemplos completos de values (Ingress e Gateway API), consulte Exposição externa.
Solução de problemas
kubectl -n <NAMESPACE> get pods
kubectl -n <NAMESPACE> get jobs
kubectl -n <NAMESPACE> get events --sort-by=.lastTimestamp
Verifique primeiro se o Ranger Admin está saudável e se o banco de dados responde.
Depois valide jobs de bootstrap, jobs de integração, PVC do Solr, Services e eventos do namespace.
Desinstalação
helm uninstall <RELEASE_NAME> -n <NAMESPACE>