Segurança — Apache Ozone
O chart tdp-ozone suporta autenticação AWS Signature Version 4 no S3 Gateway, controlada pelo Secret Kubernetes ozone-s3-credentials. Quando habilitada, todos os acessos ao endpoint S3 exigem credenciais válidas.
Autenticação no S3 Gateway
O S3 Gateway do Ozone expõe um endpoint compatível com S3. A autenticação é baseada no padrão AWS Signature v4 no modo simples (sem Kerberos):
| Parâmetro | Descrição | Padrão |
|---|---|---|
ozone.s3g.auth.enabled | Habilita autenticação no S3 Gateway | true |
ozone.s3g.auth.secretName | Nome do Secret com as credenciais S3 | ozone-s3-credentials |
Criar o Secret de credenciais
Antes do deploy, crie o Secret no namespace onde o Ozone será instalado:
kubectl -n <namespace> create secret generic ozone-s3-credentials \
--from-literal=aws_access_key_id="<ACCESS_KEY_ID>" \
--from-literal=aws_secret_access_key="<SECRET_ACCESS_KEY>"
| Chave | Descrição |
|---|---|
aws_access_key_id | Identificador da credencial (equivalente ao access key da AWS) |
aws_secret_access_key | Chave secreta para assinatura das requisições |
Configuração no values.yaml
ozone:
s3g:
auth:
enabled: true
secretName: ozone-s3-credentials
Acessar o S3 Gateway com autenticação
Após configurar o Secret, configure o cliente AWS CLI com as mesmas credenciais:
aws configure set aws_access_key_id <ACCESS_KEY_ID>
aws configure set aws_secret_access_key <SECRET_ACCESS_KEY>
aws configure set region us-east-1
# Testar listagem de buckets
aws s3 ls --endpoint-url=http://ozone-s3.local
Para acesso via port-forward:
kubectl -n <namespace> port-forward svc/<release>-s3g-rest 9878:9878
aws s3 ls --endpoint-url=http://localhost:9878
Boas práticas
| Aspecto | Recomendação |
|---|---|
| Credenciais | Não versionar aws_access_key_id e aws_secret_access_key em repositório Git |
| Rotação | Recriar o Secret e reiniciar os pods do S3 Gateway após troca de credenciais |
| Clientes | Configurar todos os serviços que acessam o Ozone com as mesmas credenciais |
Resolução de Problemas
| Problema | Causa provável | Solução |
|---|---|---|
| Erro 403 no acesso S3 | Credenciais incorretas ou Secret ausente | Verificar Secret ozone-s3-credentials no namespace |
| S3 Gateway não sobe | Secret referenciado não existe | Criar o Secret antes do deploy |
| Acesso negado via AWS CLI | Região ou endpoint incorretos | Verificar --endpoint-url e region configurados |
Para a lista completa de parâmetros, use helm show values na versão do chart que instalou.