Saltar para o conteúdo principal
Versão 3.0

Segurança — Airflow

ChartVersion3.0.1TypeapplicationAppVersion3.0.2
CompatibilidadeKubernetes1.32+OpenShift4.19+Rancher2.10.x+
Suporte a recursosLDAPsuportado

O chart tdp-airflow suporta autenticação LDAP opcional para a interface web do Airflow (Flask-AppBuilder). Por padrão, tdp-airflow.ldap.enabled é false.

Quando habilitada, a autenticação LDAP do Airflow é configurada por tdp-airflow.ldap e por variáveis de ambiente injetadas via tdp-airflow.extraEnv. Forneça um Secret com a senha de bind LDAP e referencie esse Secret em tdp-airflow.extraEnv.

Pré-requisitos

  • Servidor LDAP acessível a partir do cluster Kubernetes
  • Credenciais de bind (usuário e senha), normalmente fornecidas via Secret

Credenciais e Secrets

Crie o Secret com a senha de bind LDAP antes de instalar o chart:

Terminal input
kubectl create secret generic tdp-airflow-ldap-bind \
--from-literal=password="<LDAP_BIND_PASSWORD>" \
-n <NAMESPACE>
Importante

Se o Secret referenciado em tdp-airflow.extraEnv não existir, os pods podem falhar na inicialização.

Configuração LDAP

Em um arquivo de values personalizado (por exemplo <VALUES_FILE>), use o prefixo tdp-airflow.ldap.* e injete a senha com tdp-airflow.extraEnv:

tdp-airflow:
ldap:
enabled: true
apiServerConfig: |
import os
from flask_appbuilder.security.manager import AUTH_LDAP

AUTH_TYPE = AUTH_LDAP
AUTH_LDAP_SERVER = "ldap://<LDAP_HOST>:389"
AUTH_LDAP_USE_TLS = False
AUTH_LDAP_BIND_USER = "uid=<LDAP_BIND_USER>,cn=users,cn=accounts,dc=example,dc=com"
AUTH_LDAP_BIND_PASSWORD = os.environ.get("LDAP_BIND_PASSWORD", "")
AUTH_LDAP_SEARCH = "cn=users,cn=accounts,dc=example,dc=com"
AUTH_LDAP_UID_FIELD = "uid"

extraEnv: |
- name: LDAP_BIND_PASSWORD
valueFrom:
secretKeyRef:
name: tdp-airflow-ldap-bind
key: password
tip

A senha de bind não deve ficar em texto plano no values.yaml versionado; use valueFrom.secretKeyRef em tdp-airflow.extraEnv.

Instalação ou atualização

Terminal input
helm upgrade --install <RELEASE_NAME> oci://registry.tecnisys.com.br/tdp/charts/tdp-airflow \
-n <NAMESPACE> --create-namespace \
-f <VALUES_FILE>

Parâmetros

ParâmetroDescrição
tdp-airflow.ldap.enabledHabilita autenticação LDAP
tdp-airflow.ldap.apiServerConfigTrecho Python Flask-AppBuilder (AUTH_LDAP, etc.)
tdp-airflow.extraEnvVariáveis extras; use para LDAP_BIND_PASSWORD via Secret

Solução de problemas

ProblemaCausa provávelSolução
Pod não iniciaSecret do bind ausente ou nome incorretoCriar/corrigir Secret e alinhar secretKeyRef.name em tdp-airflow.extraEnv
Credenciais inválidasBind DN ou senha incorretosValidar bind com ferramentas LDAP do ambiente
Usuário não encontradoBase de busca ou campo UID incorretosValidar AUTH_LDAP_SEARCH e AUTH_LDAP_UID_FIELD conforme o diretório