Configuration requise
Activer Kerberos
Préconfiguration
Avant de lancer l’Assistant, vous devez définir deux configurations et redémarrer tous les services.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.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.
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.
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.
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
Si les services ne démarrent pas, voici quelques astuces pour déboguer les problèmes Kerberos :
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.