Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Créez et accédez à une liste de vos produits
  • Gérer vos sites, vos produits et vos contacts au niveau des produits Dell EMC à l’aide de la rubrique Gestion des informations de l’entreprise.

Isilon : Configuration Kerberos automatisée d’Ambari avec Isilon (en anglais)

Résumé: Cet article vous guide tout au long de la configuration de la sécurité Kerberos avec un cluster Hadoop géré par Ambari.

Cet article a peut-être été traduit automatiquement. Si vous avez des commentaires concernant sa qualité, veuillez nous en informer en utilisant le formulaire au bas de cette page.

Contenu de l’article


Symptômes

s/o

Cause

s/o

Résolution

Remarque : Cette rubrique fait partie de l’outil Using Hadoop with OneFS - Isilon Info Hub.

Cet article explique comment configurer la sécurité Kerberos avec un cluster Hadoop géré par Ambari.

Kerberos est essentiel à l’authentification et au chiffrement solides pour Hadoop, mais il peut s’avérer difficile de configurer et d’administrer. Ambari 2.0 a introduit la configuration Kerberos automatisée pilotée par l’assistant, ce qui rend le processus beaucoup plus rapide et moins source d’erreurs. À partir de OneFS 8.0.0.1, les clients Dell EMC Isilon peuvent tirer parti de cette excellente fonctionnalité.


Configuration requise

  • OneFS 8.0.0.1 ou version supérieure.
  • Ambari 2.0 ou version supérieure.
  • KDC MIT en cours d’exécution (Heimdal n’est pas pris en charge). Suivez les étapes ci-dessous pour configurer votre infrastructure Kerberos.
  • DNS avant et inverse entre tous les hôtes.
  • Tous les services sont en cours d’exécution (vert) sur le tableau de bord Ambari.

Activer Kerberos

Préconfiguration

Avant de lancer l’Assistant, vous devez définir deux configurations et redémarrer tous les services.
  • Dans HDFS :> le site principal personnalisé définit « hadoop.security.token.service.use_ip » sur « false »
  • Dans MapReduce2 -> Advanced mapred-site , ajoutez « 'hadoop classpath' : » au début de « mapreduce.application.classpath ». Notez les deux-points et les boutons arrière (mais ne copiez pas les guillemets).

Démarrer

Accédez à Admin -> Kerberos et appuyez sur le bouton « Enable Kerberos ». Les titres de cette section font référence aux titres des pages de l’Assistant Kerberos.

SLN319432_en_US__1i_isilon-1-enable

Sélectionnez « Existing MIT KDC » et assurez-vous que les conditions préalables sont remplies, puis cliquez sur « Next ». Notez qu’Isilon n’utilise pas Java et n’a pas besoin de JCE.

Configurer Kerberos / Installer et tester le client Kerberos

Renseignez toutes les informations du KDC et du serveur d’administration. À l’étape 3 (Installation et test du client Kerberos), le serveur Ambari effectue un test de fumée pour s’assurer que vous avez correctement configuré Kerberos.


SLN319432_en_US__2i_isilon-2-installation


Configurer des identités/Confirmer la configuration

 a) Ambari User Principals (UPNs)

Ambari crée des entités de sécurité d’utilisateur au format $ -$ @$ , puis utilise hadoop.security.auth_to_local dans core-site.xml pour mapper les entités de sécurité en $ seulement sur le système de fichiers.

Isilon ne respecte pas les règles de mappage. Vous devez donc supprimer le -$ de toutes les entités de sécurité de la section « Ambari Principals ». Isilon se déconnecte de @$ et aucun alias n’est donc nécessaire. Dans un cluster Ambari 2.2.1 exécutant HDFS, YARN, MapReduce2, Tez, Hive, HBase, Pig, Sqoop, Oozie, Zookeeper, Falcon, Storm, Flume,Crimmulo, Metrics Ambari, Kafka, Configura, Configurout, Slider et Spark, apportez les modifications suivantes dans l’onglet « Général » :
  • Nom de l’entité de sécurité Smokeuser : ${cluster-env/smokeuser}-$ @$ => ${cluster-env/smokeuser}@$
  • spark.history.kerberos.principal : ${spark-env/spark_user}-$ @$ => ${spark-env/spark_user}-@$
  • Nom de l’entité de sécurité storm : ${storm-env/storm_user}-$ @$ => ${storm-env/storm_user}-@$
  • Entité de sécurité de l’utilisateur HBase : ${hbase-env/hbase_user}-$ @$ => ${hbase-env/hbase_user}@$
  • Entité de sécurité d’utilisateur HDFS : ${hadoop-env/hdfs_user}-$ @$ => ${hadoop-env/hdfs_user}@$
  • accumulo_principal_name : ${portsmulo-env/accumulo_user}-$ @$ => ${rémulmulo-env/accumulo_user}@$
  • trace.user : tracer-$ @$ => tracer@$

SLN319432_en_US__3i_isilon-3-identités

b) Les entités de sécurité de service (SPN)

Ambari créent des entités de sécurité de service, dont certaines sont différentes de leurs noms d’utilisateur UNIX. Encore une fois, puisque Isilon ne respecte pas les règles de mappage, vous devez modifier les noms principaux pour qu’ils correspondent à leurs noms d’utilisateur UNIX. Dans le cluster Ambari 2.2.1, apportez les modifications suivantes dans l’onglet « Advanced » :
  • HDFS :> dfs.namenode.kerberos.principal : nn/_HOST@$ => hdfs/_HOST@$
  • YARN -> yarn.resourcemanager.principal : rm/_HOST@$ => yarn/_HOST@$
  • YARN -> yarn.nodemanager.principal : nm/_HOST@$ => yarn/_HOST@$
  • MapReduce2 -> mapreduce.jobhistory.principal : jhs/_HOST@$ => mapred/_HOST@$
  • Falcon :> *.dfs.namenode.kerberos.principal : nn/_HOST@$ => hdfs/_HOST@$
 

SLN319432_en_US__4i_isilon-4-identitésconfig


Après avoir configuré les entités de sécurité appropriées, appuyez sur « Suivant ». Sur l’écran « Confirm Configuration », appuyez sur « Next ».

Arrêter les services/Cluster Kerberize

L’arrêt et la mise en veille prolongée des services doivent réussir.
 

SLN319432_en_US__5i_isilon-5 clusters


Ne poursuivez pas : Isilon ne permet pas à Ambari de créer des keytabs pour les entités de sécurité Isilon. Au lieu de cela, vous devez configurer manuellement Kerberos sur Isilon en suivant les étapes ci-dessous.

a) Créez KDC en tant que fournisseur d’authentification Isilon

Remarque : Si cette zone Isilon est déjà configurée pour utiliser votre KDC MIT, vous pouvez ignorer ces étapes.

isi auth krb5 create --realm=$REALM --admin-server=$admin_server --kdc=$kdc_server --user=$admin_principal --password=$admin_password
isi zone zones modify --zone=$isilon_zone --add-auth-provider=krb5:$REALM

b) Créez des entités de sécurité de service pour HDFS et HTTP (pour WebHDFS).

isi auth krb5 spn create --provider-name=$REALM --spn=hdfs/$isilon_smartconnect@$REALM --user=$admin_principal --password=$admin_password
isi auth krb5 spn create --provider-name=$REALM --spn=HTTP/$isilon_smartconnect@$REALM --user=$admin_principal --password=$admin_password

c) Créer les utilisateurs proxy nécessaires

Dans les clusters non sécurisés, n’importe quel utilisateur peut usurper l’identité d’un autre utilisateur. Dans les clusters sécurisés, les utilisateurs proxy doivent être explicitement spécifiés.
Si vous disposez de Hive ou Oozie, ajoutez les utilisateurs proxy appropriés.

isi hdfs proxyusers create oozie --zone=$isilon_zone --add-user=ambari-qa
isi hdfs proxyusers create hive --zone=$isilon_zone --add-user=ambari-qa

d) Désactiver l’authentification simple

Seule l’authentification kerberos ou de token de délégation est autorisée.

isi hdfs settings modify --zone=$isilon_zone --authentication-mode=kerberos_only

Maintenant qu’Isilon est également configuré, appuyez sur « Suivant » dans Ambari pour passer à la dernière étape de l’Assistant.

Services de démarrage et de test
 

SLN319432_en_US__6i_isilon-6 services de démarrage

 

Si les services ne démarrent pas, voici quelques astuces pour déboguer les problèmes Kerberos :
  1. En raison d’un bug dans YARN, vous devez définir « yarn.resourcemanager.principal » sur yarn/$rm_hostname@$REALM dans YARN ->Custom yarn-site. La syntaxe « _HOST » ne fonctionne pas avec Kerberos activé.
  2. Pour déboguer les erreurs Java GSSAPI/Kerberos, ajoutez « -Dsun.security.krb5.debug=true » à HADOOP_OPTS.
  3. Pour les erreurs HTTP 401, utilisez curl avec -iv pour obtenir des informations de débogage supplémentaires.
  4. Assurez-vous que le DNS suivant et inverse est configuré entre tous les hôtes.
(En option) Sécurité RPC renforcée

Dans HDFS-> Custom core-site définissez « hadoop.rpc.protection » sur « integrity » ou « privacy ». En plus de l’authentification, les messages de garantie d’intégrité n’ont pas été falsifiés et la confidentialité chiffre tous les messages.

Exécutez une tâche !

À partir de n’importe quel hôte client, essayez une tâche MapReduce !

kinit <some-user> yarn jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar pi 1 1000
Job Finished in 37.635 seconds
Estimated value of Pi is 3.14800000000000000000
Congratulations--you have secured your cluster with Kerberos!

(En option) Désactiver Kerberos

Nettoyer Isilon

Vous devez d’abord nettoyer Isilon. Il s’agit essentiellement de l’inverse de l’activation de Kerberos.

a) Désactiver l’authentification Kerberos

isi hdfs settings modify --authentication-mode=simple_only --zone=$isilon_zone

b) Supprimer tous les utilisateurs proxy

isi hdfs proxyusers delete oozie --zone=$isilon_zone
isi hdfs proxyusers delete hive --zone=$isilon_zone

c) Supprimer des entités de sécurité

isi auth krb5 spn delete --provider-name=$REALM --spn=hdfs/$isilon_smartconnect@$REALM --all
isi auth krb5 spn delete --provider-name=$REALM --spn=HTTP/$isilon_smartconnect@$REALM --all

Notez que les commandes ci-dessus suppriment uniquement ces entités de sécurité d’Isilon, mais ne les suppriment pas du KDC. Utilisez ces commandes pour supprimer les entités de sécurité Isilon du KDC :

kadmin -p $admin_principal
kadmin: delete_principal hdfs/$isilon_smartconnect@$REALM
kadmin: delete_principal HTTP/$isilon_smartconnect@$REALM

d) Supprimer KDC en tant que fournisseur d’authentification Isilon

isi zone zones modify --zone=$isilon_zone --remove-auth-provider=krb5:$REALM
isi auth krb5 delete --provider-name=$REALM

Nettoyer les clients à l’aide d’Ambari

Appuyez sur « Disable Kerberos » (Désactiver Kerberos) dans Admin -> Kerberos. Tous les services doivent s’afficher en vert.

Propriétés de l’article


Produit concerné

Isilon, PowerScale OneFS, Isilon with HDFS

Dernière date de publication

14 Sep 2023

Version

5

Type d’article

Solution