Configuración de la autenticación de Kerberos para Active Directory

Configurar la autenticación de Kerberos para Active Directory en clusters de Big Data Service.

Requisitos

Antes de configurar un Active Directory como KDC para el cluster de ODH, se deben cumplir los siguientes requisitos previos:

  • El host de cluster de ODH debe tener acceso de red a los nombres DNS de los controladores de dominio y puede resolverlos.
  • Se ha configurado la conectividad segura de LDAP o LDAPS de Active Directory.
  • Usuario de enlace y contraseña de enlace de Active Directory.

Se requiere lo siguiente para configurar la autenticación de Kerberos con el enfoque de Active Directory únicamente.

  • El contenedor de usuario de Active Directory para los principios de servicio se ha creado y está disponible. Por ejemplo, OU=Hadoop,OU=People,DC=apache,DC=org. Las credenciales administrativas de Active Directory con control delegado para crear, suprimir y gestionar cuentas de usuario en el contenedor de usuario están disponibles.

Importación del certificado de Active Directory

La cadena de certificados se debe importar al cluster de Big Data Service para actualizar varios valores de configuración. Por ejemplo, el archivo .crt respectivo, los almacenes de claves, etc., que utilizan los servicios individuales. Por ejemplo, Hue, Ranger y Ambari.
  1. Conéctese al primer nodo maestro (mn0) del cluster de Big Data Service.
  2. Obtenga la cadena de certificados LDAP del administrador de Active Directory y almacénela en el archivo. Por ejemplo, /<path>/<manually_obtained_certifcate_chain>.crt.
  3. En Big Data Service 3.0.27 o posterior, valide la cadena de certificados para conectar la URL de LDAP; de lo contrario, omita este paso.
    sudo bds_cert_util -ot validateURLConnection -url <ldap_fqdn>:<port> -ca /<path>/<manually_obtained_certifcate_chain>.crt
  4. Edite el archivo /home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf de la siguiente manera:
    1. Defina CUSTOM_CERTIFICATE en True.
    2. Defina ROOT_CERT_PATH en /<path>/<manually_obtained_certifcate_chain>.crt
      Nota

      La ruta del certificado obtenido manualmente no debe entrar en conflicto con ninguno de los siguientes valores.
      • Se utiliza antes de aplicar el certificado TEMP_CERT_PATH=/etc/security/serverKeys_new #Initital certificate generation path.
      • Se utiliza solo al generar certificados autofirmados CERT_GEN_FOLDER=/etc/security/serverKeys_cert_gen

      Por defecto, utilizamos CERT_PATH=/etc/security/serverKeys #Temporary certificate directory. Sin embargo, si personaliza la ruta del certificado raíz, debe utilizar una ruta diferente.

    3. Guarde los cambios.
  5. Ejecute el siguiente comando:
    sudo bds_cert_util --enable
  6. Inicie sesión en Apache Ambari y, a continuación, reinicie todos los servicios necesarios.

Obtención manual del certificado de Active Directory (Windows)

  1. Inicie sesión en el servidor del Active Directory.
  2. Ejecute mmc.
  3. Seleccione Archivo y, a continuación, seleccione Agregar/Eliminar complemento.
  4. Seleccione Certificados y, a continuación, seleccione Cuenta de servicio.
  5. Seleccione Next (Siguiente).
  6. Seleccione Computadora local y, a continuación, seleccione Siguiente.
  7. Seleccione Servicios de dominio de Active Directory y, a continuación, seleccione Aceptar.
  8. Para localizar el certificado correspondiente al certificado raíz:
    1. Select Certificate - Service (Active Directory Domain Services) on Local Computer.
    2. Seleccione NTDS\Personal.
    3. Seleccione Certificados.

      Para localizar el certificado, Emitido por y Emitido por son los mismos para el certificado.

  9. Exporte el certificado ubicado en el paso anterior:
    1. Haga clic con el botón derecho en la fila del certificado raíz.
    2. Seleccione Todas las tareas y, a continuación, seleccione Exportar.
      Se abre el asistente de exportación de certificados.
    3. Seleccione Next (Siguiente).
    4. Seleccione Base-64 codificado X.509 para el Formato de archivo.
    5. Seleccione Next y, a continuación, introduzca el nombre del archivo.
    6. Haga clic en Terminar.
  10. El archivo .cer creado en el paso anterior se puede abrir en Textpad para copiar el contenido del certificado codificado base 64. O bien, el propio archivo .cer se puede copiar.

Limpieza de tokens de Kerberos

  1. Conéctese al primer nodo principal (mn0) del cluster de Big Data Service.
  2. Para asegurarse de que no haya tokens Kerberos anticuados, ejecute:

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