Configuration de l'authentification Kerberos pour Active Directory

Configurez l'authentification Kerberos pour Active Directory sur les clusters Big Data Service.

Prérequis

Avant de configurer un KDC Active Directory pour le cluster ODH, les prérequis suivants doivent être respectés :

  • L'hôte de cluster ODH doit disposer d'un accès réseau aux noms DNS des contrôleurs de domaine et peut les résoudre.
  • La connectivité LDAP ou LDAPS sécurisée Active Directory a été configurée.
  • Utilisateur de liaison et mot de passe de liaison Active Directory.

Les éléments suivants sont requis pour configurer l'authentification Kerberos à l'aide de l'approche Active Directory uniquement.

  • Le conteneur utilisateur Active Directory pour les principes de service a été créé et est disponible. Par exemple, OU=Hadoop,OU=People,DC=apache,DC=org. Les informations d'identification d'administration Active Directory avec contrôle délégué permettant de créer, supprimer et gérer des comptes utilisateur sur le conteneur utilisateur sont disponibles.

Import du certificat Active Directory

La chaîne de certificats doit être importée dans le cluster Big Data Service pour mettre à jour divers paramètres de configuration. Par exemple, le fichier .crt, les fichiers de clés, etc. utilisés par les services individuels. Par exemple, Hue, Ranger et Ambari.
  1. Connectez-vous au premier noeud maître (mn0) du cluster Big Data Service.
  2. Obtenez la chaîne de certificats LDAP auprès de l'administrateur Active Directory et stockez-la dans le fichier. Par exemple, /<path>/<manually_obtained_certifcate_chain>.crt.
  3. Dans Big Data Service 3.0.27 ou version ultérieure, validez la chaîne de certificats pour connecter l'URL LDAP. Sinon, ignorez cette étape.
    sudo bds_cert_util -ot validateURLConnection -url <ldap_fqdn>:<port> -ca /<path>/<manually_obtained_certifcate_chain>.crt
  4. Modifiez le fichier /home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf comme suit :
    1. Définissez CUSTOM_CERTIFICATE sur Vrai.
    2. Définissez ROOT_CERT_PATH sur /<path>/<manually_obtained_certifcate_chain>.crt.
      Remarque

      Le chemin du certificat obtenu manuellement ne doit pas entrer en conflit avec l'une des valeurs suivantes.
      • Utilisé avant l'application du certificat TEMP_CERT_PATH=/etc/security/serverKeys_new #Initital certificate generation path.
      • Utilisé uniquement lors de la génération de certificats auto-signés CERT_GEN_FOLDER=/etc/security/serverKeys_cert_gen

      Par défaut, nous utilisons CERT_PATH=/etc/security/serverKeys #Temporary certificate directory. Toutefois, si vous personnalisez le chemin du certificat racine, vous devez utiliser un autre chemin.

    3. Enregistrez les modifications.
  5. Exécutez la commande suivante :
    sudo bds_cert_util --enable
  6. Connectez-vous à Apache Ambari, puis redémarrez tous les services requis.

Obtention manuelle d'un certificat à partir d'Active Directory (Windows)

  1. Connectez-vous au serveur Active Directory.
  2. Exécutez mmc.
  3. Sélectionnez Fichier, puis Ajouter/Enlever un composant logiciel enfichable.
  4. Sélectionnez Certificats, puis Compte de service.
  5. Sélectionnez Suivant.
  6. Sélectionnez Ordinateur local, puis Suivant.
  7. Sélectionnez Services de domaine Active Directory, puis OK.
  8. Pour localiser le certificat correspondant au certificat racine :
    1. Sélectionnez Certificat - Service (Active Directory Domain Services) sur l'ordinateur local.
    2. Sélectionnez NTDS\Personal.
    3. Sélectionnez Certificats.

      Pour localiser le certificat, les valeurs Emis par et Emis par sont les mêmes pour le certificat.

  9. Exportez le certificat situé à l'étape précédente :
    1. Cliquez avec le bouton droit de la souris sur la ligne du certificat racine.
    2. Sélectionnez Toutes les tâches, puis Exporter.
      L'assistant d'export de certificat s'ouvre.
    3. Sélectionnez Suivant.
    4. Sélectionnez X.509 codé en base 64 pour le format de fichier.
    5. Sélectionnez Suivant, puis entrez le nom du fichier.
    6. Cliquez sur Fin.
  10. Le fichier .cer créé à l'étape précédente peut être ouvert dans Textpad pour copier le contenu du certificat encodé en 64 de base. Vous pouvez également copier le fichier .cer lui-même.

Nettoyage des jetons Kerberos

  1. Connectez-vous au premier noeud principal (mn0) du cluster Big Data Service.
  2. Pour vous assurer qu'aucun jeton Kerberos obsolète n'est présent, exécutez la commande suivante :

    sudo dcli -C "rm -rf /tmp/krb5cc*"