Configurazione dell'autenticazione Kerberos per Active Directory

Configurare l'autenticazione Kerberos per Active Directory nei cluster Big Data Service.

Prerequisiti

Prima di configurare un Active Directory come KDC per il cluster ODH, è necessario soddisfare i prerequisiti riportati di seguito.

  • L'host del cluster ODH deve disporre dell'accesso di rete e può risolvere i nomi DNS dei controller di dominio.
  • La connettività LDAP o LDAPS sicura di Active Directory è stata configurata.
  • Utente di autenticazione e password di autenticazione di Active Directory.

Per configurare l'autenticazione Kerberos utilizzando solo l'approccio di Active Directory, è necessario quanto segue.

  • Il contenitore utente di Active Directory per i principi del servizio è stato creato ed è disponibile. Ad esempio, OU=Hadoop,OU=People,DC=apache,DC=org. Sono disponibili le credenziali amministrative di Active Directory con controllo delegato per creare, eliminare e gestire gli account utente nel contenitore utente.

Importazione del certificato Active Directory

Per aggiornare varie impostazioni di configurazione, è necessario importare la catena di certificati nel cluster Big Data Service. Ad esempio, il rispettivo file .crt, i keystore e così via utilizzati dai singoli servizi. Ad esempio, Hue, Ranger e Ambari.
  1. Collegarsi al primo nodo principale (mn0) del cluster Big Data Service.
  2. Ottenere la catena di certificati LDAP dall'amministratore di Active Directory e memorizzarla nel file. Ad esempio, /<path>/<manually_obtained_certifcate_chain>.crt.
  3. In Big Data Service 3.0.27 o versioni successive, convalidare la catena di certificati per connettere l'URL LDAP. In caso contrario, ignorare questo passo.
    sudo bds_cert_util -ot validateURLConnection -url <ldap_fqdn>:<port> -ca /<path>/<manually_obtained_certifcate_chain>.crt
  4. Modificare il file /home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf come indicato di seguito.
    1. Impostare CUSTOM_CERTIFICATE su True.
    2. Impostare ROOT_CERT_PATH su /<path>/<manually_obtained_certifcate_chain>.crt
      Nota

      Il percorso del certificato ottenuto manualmente non deve essere in conflitto con nessuno dei seguenti valori.
      • Utilizzato prima dell'applicazione del certificato TEMP_CERT_PATH=/etc/security/serverKeys_new #Initital certificate generation path.
      • Utilizzato solo durante la generazione dei certificati con firma automatica CERT_GEN_FOLDER=/etc/security/serverKeys_cert_gen

      Per impostazione predefinita, viene utilizzato CERT_PATH=/etc/security/serverKeys #Temporary certificate directory. Tuttavia, se si personalizza il percorso del certificato radice, è necessario utilizzare un percorso diverso.

    3. Salvare le modifiche.
  5. eseguire il comando seguente:
    sudo bds_cert_util --enable
  6. Accedere ad Apache Ambari, quindi riavviare tutti i servizi richiesti.

Ottenere manualmente il certificato da Active Directory (Windows)

  1. Accedere al server Active Directory.
  2. Eseguire mmc.
  3. Selezionare File, quindi Aggiungi/Rimuovi snapin.
  4. Selezionare Certificati, quindi Account di servizio.
  5. Selezionare Next.
  6. Selezionare Computer locale, quindi selezionare Avanti.
  7. Selezionare Servizi di dominio Active Directory, quindi selezionare OK.
  8. Per individuare il certificato corrispondente al certificato root:
    1. Selezionare Certificate - Service (Active Directory Domain Services) nel computer locale.
    2. Selezionare NTDS\Personal.
    3. Selezionare Certificati.

      Per individuare il certificato, i valori Emesso a e Emesso da sono gli stessi per il certificato.

  9. Esportare il certificato situato nel passo precedente:
    1. Fare clic con il pulsante destro del mouse sulla riga del certificato radice.
    2. Selezionare Tutti i task, quindi selezionare Esporta.
      Viene visualizzata l'Esportazione guidata certificato.
    3. Selezionare Next.
    4. Selezionare Base-64 con codifica X.509 per il formato file.
    5. Selezionare Avanti, quindi immettere il nome del file.
    6. Selezionare Fine.
  10. Il file .cer creato nel passo precedente può essere aperto in Textpad per copiare il contenuto del certificato con codifica 64 di base. In alternativa, è possibile copiare il file .cer stesso.

Cleanup dei token Kerberos

  1. Collegarsi al primo nodo primario (mn0) del cluster Big Data Service.
  2. Per essere sicuri che non siano presenti token Kerberos obsoleti, eseguire:

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