Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Support DIGEST-MD5 / delegation token authentication for HMS

Fermée
#3,145 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

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

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.

Description

stale
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
Langage dominant
Python
Étoiles
1.1k
Forks
589
Merge moyen
1 j 20 h
PR mergées (30 j)
68

Guide de contribution

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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/iceberg-python

Toutes les issues de apache/iceberg-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

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