apache / apache/iceberg-python

Support DIGEST-MD5 / delegation token authentication for HMS

Ouverte
#3,145 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
stale
Langage dominant
Python
Étoiles
1.1k
Forks
581
Merge moyen
1 j 17 h
PR mergées (30 j)
77

Description

### Feature Request / Improvement

#### Summary
PyIceberg's HiveCatalog supports Kerberos (GSSAPI) authentication via `hive.kerberos-authentication`, but does not support DIGEST-MD5 SASL authentication with Hadoop delegation tokens. In many production Hadoop environments, pods/containers authenticate to HMS using delegation tokens (read from `$HADOOP_TOKEN_FILE_LOCATION`) rather than Kerberos keytabs. This means PyIceberg's Hive catalog cannot be used in these environments without building a custom client.

#### Proposed Enhancement
Extend `_HiveClient` to support DIGEST-MD5 delegation token auth:
1. Add a new config property (e.g. `hive.metastore.authentication=DIGEST-MD5`)
2. When DIGEST-MD5 is configured, read credentials from `$HADOOP_TOKEN_FILE_LOCATION` (Hadoop Writable credentials format)
3. Use `TSaslClientTransport` with mechanism=DIGEST-MD5 and the extracted token identifier/password

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par _HiveClient et son chemin hive.kerberos-authentication existant, puis examinez comment TSaslClientTransport est configuré. Le travail est terminé lorsque DIGEST-MD5 lit les Hadoop Writable credentials depuis $HADOOP_TOKEN_FILE_LOCATION et utilise l’identifiant du token et le mot de passe pour l’authentification HMS.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
hadoop, python
Domaine
backend, databases
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.