Saltar para o conteúdo principal
Versão 3.0

Segurança — Hive Metastore

ChartVersion3.0.1TypeapplicationAppVersion4.0.0
CompatibilidadeKubernetes1.32+OpenShift4.19+Rancher2.10.x+
Suporte a recursosS3suportadoExternal DBsuportado

No Hive Metastore, os cuidados de segurança se concentram nas credenciais usadas para PostgreSQL e S3, nos Secrets associados ao deploy e nos contextos de segurança aplicados aos pods e containers.

Configurações de autenticação de usuários, SSO, LDAP, Ranger e políticas de autorização ficam fora do escopo desta página.

Credenciais e Secrets

O Hive Metastore usa credenciais para acessar o PostgreSQL que armazena os metadados e, quando metastore.type: s3, para acessar o endpoint S3/S3A configurado no chart.

Não armazene senhas em arquivos values.yaml versionados. Use arquivos de valores privados, CI seguro ou mecanismo de gestão de Secrets do ambiente.

Credenciais PostgreSQL

Com postgres.enabled: true, o chart usa PostgreSQL interno. Defina a senha do usuário hive em tdp-hive-metastore.postgres.password:

tdp-hive-metastore:
postgres:
enabled: true
database: hive
username: hive
password: "<POSTGRES_PASSWORD>"

Se precisar conectar diretamente ao banco hive, recupere a senha gerada no Secret do release:

kubectl get secret -n <NAMESPACE> <RELEASE_NAME>-hive-database \
-o jsonpath="{.data.password}" | base64 --decode

Com PostgreSQL externo (postgres.enabled: false), os hooks de pré-instalação buscam a senha de administração no Secret associado ao release definido em TDP-Settings.externalDatabase.externalSecret.releaseName. Esse Secret deve conter a chave postgres-password no padrão TDP. Para os parâmetros de configuração do banco externo, consulte Configuração do Hive Metastore.

Credenciais S3

Para usar o warehouse em modo S3, configure metastore.type: s3 e informe as credenciais em tdp-hive-metastore.metastore.s3.accessKey e tdp-hive-metastore.metastore.s3.secretKey:

tdp-hive-metastore:
metastore:
type: s3
s3:
endpoint: "http://<S3_SERVICE>.<NAMESPACE>.svc.cluster.local:9000"
accessKey: "<S3_ACCESS_KEY>"
secretKey: "<S3_SECRET_KEY>"

Proteja esses valores por meio de arquivo de valores privado, CI seguro ou ferramenta de gestão de Secrets adotada no ambiente. Para configurar o modo s3, consulte a página de Configuração do Hive Metastore.

imagePullSecrets

Use tdp-hive-metastore.imagePullSecrets para baixar imagens a partir de registries privados:

tdp-hive-metastore:
imagePullSecrets:
- name: tdp-registry

O Secret referenciado deve existir no namespace em que o Hive Metastore será instalado. Em ambientes que usam política de cluster para injetar imagePullSecrets, alinhe este valor à estratégia adotada no cluster.

podSecurityContext e containerSecurityContext

Configure os contextos de segurança dos workloads e jobs auxiliares em podSecurityContext e containerSecurityContext:

tdp-hive-metastore:
podSecurityContext:
seccompProfile:
type: RuntimeDefault

containerSecurityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
seccompProfile:
type: RuntimeDefault
capabilities:
drop:
- ALL

Esses valores reduzem permissões do container e aplicam seccompProfile: RuntimeDefault. Preserve esses padrões, salvo quando houver exigência explícita do ambiente Kubernetes/OpenShift.

Solução de problemas

ProblemaCausa provávelSolução
Metastore não sobe (banco externo)Secret com postgres-password ausente ou nome do release incorretoVerificar externalSecret.releaseName
Falha nos hooks de pré-instalaçãoPostgreSQL não acessível ou max_connections insuficienteVerificar conectividade e SHOW max_connections
Autenticação negadaCredenciais incorretas no valuesRever postgres.username e postgres.password
Credenciais S3 não funcionamaccessKey, secretKey ou endpoint S3 incorretosConferir tdp-hive-metastore.metastore.s3.* e evitar credenciais em valores versionados
Pull de imagem falhaSecret de registry ausente ou nome incorretoVerificar tdp-hive-metastore.imagePullSecrets e se o Secret existe no namespace
Pod bloqueado por política de segurançapodSecurityContext ou containerSecurityContext incompatível com a política do clusterConferir eventos do Pod e ajustar apenas conforme exigência do ambiente

Para a lista completa de parâmetros, use helm show values na versão do chart que instalou.