Creación y configuración de clústeres de Enterprise Security Package en Azure HDInsight

Enterprise Security Package (ESP) para Azure HDInsight le proporciona acceso a la autenticación basada en Active Directory, compatibilidad con varios usuarios y control de acceso basado en rol para los clústeres de Apache Hadoop en Azure. Los clústeres de ESP para HDInsight permiten a las organizaciones normalmente adheridas a estrictas directivas de seguridad corporativa procesar información confidencial de manera segura.

En esta guía se muestra cómo crear un clúster de Azure HDInsight habilitado para ESP. También muestra cómo crear una máquina virtual de IaaS Windows en la que se habilitan tanto Active Directory y Sistema de nombres de dominio (DNS). Use esta guía para configurar los recursos necesarios para permitir a los usuarios locales iniciar sesión en un clúster de HDInsight habilitado para ESP.

El servidor que cree actuará como sustitución de su entorno local real. Lo usará para los pasos de instalación y configuración. Más tarde repetirá los pasos en su propio entorno.

Esta guía también le ayudará a crear un entorno de identidad híbrida mediante la sincronización de hash de contraseña con Microsoft Entra ID. La guía complementa Uso de Enterprise Security Package en HDInsight.

Antes de que use este proceso en su propio entorno:

  • Configure Active Directory y DNS.
  • Habilite Microsoft Entra ID.
  • Sincronice cuentas de usuario locales con el Microsoft Entra ID.

Microsoft Entra architecture diagram.

Creación de un entorno local

En esta sección, usará una plantilla de implementación rápida de Azure para crear nuevas máquinas virtuales, configurar instancias DNS y agregar un nuevo bosque de Active Directory.

  1. Vaya a la plantilla de implementación rápida para crear una máquina virtual de Azure con un nuevo bosque de Active Directory.

  2. Seleccione Implementar en Azure.

  3. Inicie sesión en la suscripción de Azure.

  4. En la página Crear una máquina virtual de Azure con un nuevo bosque de AD, proporcione la siguiente información:

    Propiedad Valor
    Subscription Seleccione la suscripción en la que desea implementar los recursos.
    Resource group Seleccione Crear nuevo y escriba el nombre OnPremADVRG.
    Location Seleccione una ubicación.
    Nombre de usuario administrador HDIFabrikamAdmin
    Contraseña de administrador Escriba una contraseña.
    Nombre de dominio HDIFabrikam.com
    Prefijo de DNS hdifabrikam

    Deje los valores predeterminados restantes.

    Template for Create an Azure VM with a new Microsoft Entra Forest.

  5. Revise los Términos y condiciones y seleccione Acepto los términos y condiciones indicados anteriormente.

  6. Seleccione Comprar, supervise la implementación y espere a que se complete. La implementación tarda unos 30 minutos en completarse.

Configuración de usuarios y grupos para el acceso al clúster

En esta sección, va a crear usuarios que tendrán acceso al clúster de HDInsight al final de esta guía.

  1. Conéctese al controlador de dominio mediante Escritorio remoto.

    1. En Azure Portal, vaya a Grupos de recursos>OnPremADVRG>adVM>Conectar.
    2. En la lista desplegable Dirección IP, seleccione la dirección IP pública.
    3. Seleccione Descargar archivo RDP y, a continuación, abra el archivo.
    4. Use HDIFabrikam\HDIFabrikamAdmin como nombre de usuario.
    5. Escriba la contraseña que eligió para la cuenta de administrador.
    6. Seleccione Aceptar.
  2. En el panel del Administrador del servidor del controlador de dominio, vaya a Herramientas>Usuarios y equipos de Active Directory.

    On the Server Manager dashboard, open Active Directory Management.

  3. Cree dos nuevos usuarios: HDIAdmin y HDIUser. Estos dos usuarios iniciarán sesión en los clústeres de HDInsight.

    1. En la página Usuarios y equipos de Active Directory, haga clic con el botón derecho en HDIFabrikam.com y, a continuación, vaya a Nuevo>Usuario.

      Create a new Active Directory user.

    2. En la página Nuevo objeto: usuario, escriba HDIUser para Nombre y Nombre de inicio de sesión de usuario. Los demás campos se rellenarán automáticamente. Seleccione Siguiente.

      Create the first admin user object.

    3. En la ventana emergente que aparece, escriba una contraseña para la nueva cuenta. Seleccione La contraseña nunca expira y Aceptar en el mensaje emergente.

    4. Seleccione Siguiente y, a continuación, Finalizar para crear la nueva cuenta.

    5. Repita los pasos anteriores para crear el usuario HDIAdmin.

      Create a second admin user object.

  4. Cree un grupo de seguridad global.

    1. En Usuarios y equipos de Active Directory, haga clic con el botón derecho en HDIFabrikam.com y, a continuación, vaya a Nuevo>Grupo.

    2. Escriba HDIUserGroup en el cuadro de texto Nombre de grupo.

    3. Seleccione Aceptar.

    Create a new Active Directory group.

    Create a new object.

  5. Agregue miembros a HDIUserGroup.

    1. Haga clic con el botón derecho en HDIUser y seleccione Agregar a un grupo... .

    2. En el cuadro de texto Escriba los nombres de objeto que desea seleccionar, escriba HDIUserGroup. A continuación, seleccione Aceptar y Aceptar de nuevo en el elemento emergente.

    3. Repita los pasos anteriores para la cuenta HDIAdmin.

      Add the member HDIUser to the group HDIUserGroup.

Ahora ha creado su entorno de Active Directory. Ha agregado dos usuarios y un grupo de usuarios que pueden obtener acceso al clúster de HDInsight.

Los usuarios se sincronizarán con Microsoft Entra ID.

Creación de un directorio de Microsoft Entra

  1. Inicie sesión en Azure Portal.

  2. Seleccione Crear un recurso y escriba directory. Seleccione Microsoft Entra ID>Crear.

  3. En Nombre de la organización, escriba HDIFabrikam.

  4. En Nombre de dominio inicial, escriba HDIFabrikamoutlook.

  5. Seleccione Crear.

    Create a Microsoft Entra directory.

Creación de un dominio personalizado

  1. En el nuevo Microsoft Entra ID, en Administrar, seleccione Nombres de dominio personalizados.

  2. Seleccione + Agregar dominio personalizado.

  3. En Nombre de dominio personalizado, escriba HDIFabrikam.com y, a continuación, seleccione Agregar dominio.

  4. A continuación, complete Adición de la información de DNS en el registrador de dominios.

    Create a custom domain.

Crear un grupo

  1. En la nueva Microsoft Entra ID, en Administrar, seleccione Grupos.
  2. Seleccione + Nuevo grupo.
  3. En el cuadro de texto Nombre del grupo, escriba AAD DC Administrators.
  4. Seleccione Crear.

Configuración del inquilino de Microsoft Entra

Ahora configurará el inquilino de Microsoft Entra para que pueda sincronizar usuarios y grupos desde la instancia local de Active Directory a la nube.

Cree un administrador de inquilinos de Active Directory.

  1. Inicie sesión en Azure Portal y seleccione el inquilino de Microsoft Entra, HDIFabrikam.

  2. Vaya a Administrar>Usuarios>Nuevo usuario.

  3. Escriba la siguiente información del nuevo usuario:

    Identidad

    Propiedad Descripción
    Nombre de usuario Escriba fabrikamazureadmin en el cuadro de texto. En la lista desplegable Nombre de dominio, seleccione hdifabrikam.com.
    Nombre Escriba fabrikamazureadmin.

    Contraseña

    1. Seleccione Permitirme crear la contraseña.
    2. Escriba una contraseña segura de su elección.

    Grupos y roles

    1. Seleccione 0 grupos seleccionados.

    2. Seleccione Administradores del controlador de dominio de AAD y, a continuación, Seleccionar.

      The Microsoft Entra groups dialog box.

    3. Seleccione Usuario.

    4. Seleccione Administrador global y, a continuación, Seleccionar.

      The Microsoft Entra role dialog box.

  4. Seleccione Crear.

  5. A continuación, haga que el nuevo usuario inicie sesión en Azure Portal, donde se le pedirá que cambie la contraseña. Tendrá que hacerlo antes de configurar Microsoft Entra Connect.

Sincronizar usuarios locales con Microsoft Entra ID

Configuración de Microsoft Entra Connect

  1. En el controlador de dominio, descargue Microsoft Entra Connect.

  2. Abra el archivo ejecutable que descargó y acepte los términos de licencia. Seleccione Continuar.

  3. Seleccione Usar configuración rápida.

  4. En la página Conectar con Microsoft Entra ID, escriba el nombre de usuario y la contraseña del administrador global de Microsoft Entra ID. Use el nombre de usuario fabrikamazureadmin@hdifabrikam.com que creó al configurar su inquilino de Active Directory. Seleccione Siguiente.

    Connect to Microsoft Entra ID.

  5. En la página Conectarse a Active Directory Domain Services, escriba el nombre de usuario y la contraseña de una cuenta de administrador de empresa. Use el nombre de usuario HDIFabrikam\HDIFabrikamAdmin y la contraseña que creó anteriormente. Seleccione Siguiente.

    Connect to A D D S page.

  6. En la página configuración de inicio de sesión de Microsoft Entra, seleccione Siguiente.

    Microsoft Entra sign-in configuration page.

  7. En la página Listo para configurar, seleccione Instalar.

    Ready to configure page.

  8. En la página Configuración completada, seleccione Salir. Configuration complete page.

  9. Una vez completada la sincronización, confirme que los usuarios que creó en el directorio IaaS se sincronizan con Microsoft Entra ID.

    1. Inicie sesión en Azure Portal.
    2. Seleccione Microsoft Entra ID>HDIFabrikam>Users.

Crear una identidad administrada asignada por el usuario

Cree una identidad administrada asignada por el usuario que puede usar para configurar Microsoft Entra Domain Services. Para obtener más información, consulte Creación, enumeración, eliminación o asignación de un rol a una identidad administrada que haya asignado el usuario mediante Azure Portal.

  1. Inicie sesión en Azure Portal.
  2. Seleccione Crear un recurso y escriba managed identity. Seleccione Identidad administrada asignada por el usuario>Crear.
  3. En el Nombre del recurso, escriba HDIFabrikamManagedIdentity.
  4. Seleccione su suscripción.
  5. En Grupo de recursos, seleccione Crear nuevo y escriba HDIFabrikam-CentralUS.
  6. En Ubicación, seleccione Centro de EE. UU.
  7. Seleccione Crear.

Create a new user-assigned managed identity.

Habilitación de Microsoft Entra Domain Services

Siga estos pasos para habilitar Microsoft Entra Domain Services. Para obtener más información, vea Habilitación de Microsoft Entra Domain Services mediante Azure Portal.

  1. Cree una red virtual para hospedar Microsoft Entra Domain Services. Ejecute el siguiente código de PowerShell.

    # Sign in to your Azure subscription
    $sub = Get-AzSubscription -ErrorAction SilentlyContinue
    if(-not($sub))
    {
        Connect-AzAccount
    }
    
    # If you have multiple subscriptions, set the one to use
    # Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
    
    $virtualNetwork = New-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-CentralUS' -Location 'Central US' -Name 'HDIFabrikam-AADDSVNET' -AddressPrefix 10.1.0.0/16
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig -Name 'AADDS-subnet' -AddressPrefix 10.1.0.0/24 -VirtualNetwork $virtualNetwork
    $virtualNetwork | Set-AzVirtualNetwork
    
  2. Inicie sesión en Azure Portal.

  3. Seleccione Crear recursos, escriba Domain services, y seleccione Microsoft Entra Domain Services>Crear.

  4. En la página Básico:

    1. En Nombre del directorio, seleccione el directorio Microsoft Entra que creó: HDIFabrikam.

    2. En Nombre de dominio DNS, escriba HDIFabrikam.com.

    3. Seleccione su suscripción.

    4. Especifique el grupo de recursos HDIFabrikam-CentralUS. En Ubicación, seleccione Centro de EE. UU.

      Microsoft Entra Domain Services basic details.

  5. En la página Red, seleccione la red (HDIFabrikam-VNET) y la subred (AADDS-subnet) que creó con el script de PowerShell. O bien, elija Crear nueva para crear una red virtual ahora.

    Create virtual network step.

  6. En la página Grupo de administradores, aparecerá una notificación que le indica que un grupo denominado Administradores de DC de AAD ya se ha creado para administrar este grupo. Puede modificar la pertenencia de este grupo si lo desea, pero en este caso no es necesario cambiarla. Seleccione Aceptar.

    View the Microsoft Entra administrator group.

  7. En la página Sincronización, habilite la sincronización completa seleccionando Todos>Aceptar.

    Enable Microsoft Entra Domain Services synchronization.

  8. En la página Resumen, compruebe los detalles de Microsoft Entra Domain Services y seleccione Aceptar.

    Enable Microsoft Entra Domain Services.

Después de habilitar Microsoft Entra Domain Services, un servidor DNS local se ejecuta en las máquinas virtuales de Microsoft Entra.

Configuración de la red virtual de Microsoft Entra Domain Services

Siga estos pasos para configurar la red virtual de Microsoft Entra Domain Services (HDIFabrikam-AADDSVNET) para usar los servidores DNS personalizados.

  1. Busque las direcciones IP de los servidores DNS personalizados.

    1. Seleccione el recurso HDIFabrikam.com Microsoft Entra Domain Services.
    2. En Administrar, seleccione Propiedades.
    3. Busque las direcciones IP en Dirección IP en la red virtual.

    Locate custom DNS IP addresses for Microsoft Entra Domain Services.

  2. Configure HDIFabrikam-AADDSVNET para usar las direcciones IP personalizadas 10.0.0.4 y 10.0.0.5.

    1. En Configuración, seleccione Servidores DNS.
    2. seleccione Personalizada.
    3. En el cuadro de texto, escriba la primera dirección IP (10.0.0.4).
    4. Seleccione Guardar.
    5. Repita los pasos para agregar la otra dirección IP (10.0.0.5).

En nuestro escenario, configuramos Microsoft Entra Domain Services para usar direcciones IP 10.0.0.4 y 10.0.0.5, estableciendo la misma dirección IP en la red virtual de Microsoft Entra Domain Services:

The custom DNS servers page.

Protección del tráfico de LDAP

El protocolo ligero de acceso a directorios (LDAP) se usa para leer y escribir en Microsoft Entra ID. Puede hacer que el tráfico de LDAP sea confidencial y seguro mediante la tecnología de Capa de sockets seguros (SSL) o Seguridad de la capa de transporte (TLS). Puede habilitar LDAP a través de SSL (LDAPS) mediante la instalación de un certificado con el formato correcto.

Para obtener más información, vea Configuración de LDAP seguro para un dominio administrado de Microsoft Entra Domain Services.

En esta sección, creará un certificado autofirmado, descargará el certificado y configurará LDAPS para el HDIFabrikam dominio administrado de Microsoft Entra Domain Services.

El script siguiente crea un certificado para HDIFabrikam. El certificado se guarda en la ruta de acceso LocalMachine.

$lifetime = Get-Date
New-SelfSignedCertificate -Subject hdifabrikam.com `
-NotAfter $lifetime.AddDays(365) -KeyUsage DigitalSignature, KeyEncipherment `
-Type SSLServerAuthentication -DnsName *.hdifabrikam.com, hdifabrikam.com

Nota

Cualquier utilidad o aplicación que crea una solicitud Public Key Cryptography Standards (PKCS) n.º 10 válida puede usarse para formar la solicitud de certificado TLS/SSL.

Compruebe que el certificado está instalado en el almacén Personal del equipo:

  1. Inicie Microsoft Management Console (MMC).

  2. Agregue el complemento Certificados que administra certificados en el equipo local.

  3. Expanda Certificados (equipo local)>Personal>Certificados. Debe existir un nuevo certificado en el almacén Personal. Este certificado se emite para el nombre de host completo.

    Verify local certificate creation.

  4. En el panel de la derecha, haga clic con el botón derecho en el certificado que creó. Apunte a Todas las tareas y, a continuación, seleccione Exportar.

  5. En la página Exportar la clave privada, seleccione Exportar la clave privada. El equipo donde se importará la clave necesita la clave privada para leer los mensajes cifrados.

    The Export Private Key page of the Certificate Export Wizard.

  6. En la página Formato de archivo de exportación, deje los valores predeterminados y, después, seleccione Siguiente.

  7. En la página Contraseña, escriba una contraseña para la clave privada. En Cifrado, seleccione TripleDES-SHA1. Luego, seleccione Siguiente.

  8. En la página Archivo que se va a exportar, escriba la ruta y el nombre del archivo de certificado exportado y seleccione Siguiente. El nombre de archivo debe tener la extensión .pfx. Este archivo se configura en Azure Portal para establecer una conexión segura.

  9. Habilite LDAPS para un dominio administrado de Microsoft Entra Domain Services.

    1. En Azure Portal, seleccione el dominio HDIFabrikam.com.
    2. En Administrar, seleccione LDAP seguro.
    3. En la página LDAP seguro, en LDAP seguro, seleccione Habilitar.
    4. Busque el archivo de certificado .pfx que exportó en el equipo.
    5. Escriba la contraseña del certificado.

    Enable secure LDAP.

  10. Ahora que ha habilitado el protocolo LDAPS, asegúrese de que sea accesible habilitando el puerto 636.

    1. En el grupo de recursos HDIFabrikam-CentralUS, seleccione el grupo de seguridad de red AADDS-HDIFabrikam.com-NSG.

    2. En Configuración, seleccione Reglas de seguridad de entrada>Agregar.

    3. En la página Agregar regla de seguridad de entrada, especifique las siguientes propiedades y seleccione Agregar:

      Propiedad Valor
      Origen Cualquiera
      Rangos del puerto origen *
      Destino Any
      Destination port range 636
      Protocolo Cualquiera
      Acción Permitir
      Prioridad <Número deseado>
      Nombre Port_LDAP_636

      The Add inbound security rule dialog box.

HDIFabrikamManagedIdentity es la identidad administrada asignada por el usuario. El rol de colaborador de Domain Services para HDInsight se habilita para la identidad administrada que permitirá esta identidad para leer, crear, modificar y eliminar las operaciones de Domain Services.

Create a user-assigned managed identity.

Creación de un clúster de HDInsight habilitado para ESP

Este paso requiere los siguientes requisitos previos:

  1. Cree un nuevo grupo de recursos HDIFabrikam-WestUS en la ubicación Oeste de EE. UU.

  2. Cree una red virtual que hospedará el clúster de HDInsight habilitado para ESP.

    $virtualNetwork = New-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-WestUS' -Location 'West US' -Name 'HDIFabrikam-HDIVNet' -AddressPrefix 10.1.0.0/16
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig -Name 'SparkSubnet' -AddressPrefix 10.1.0.0/24 -VirtualNetwork $virtualNetwork
    $virtualNetwork | Set-AzVirtualNetwork
    
  3. Cree una relación del mismo nivel entre la red virtual que hospeda Microsoft Entra Domain Services (HDIFabrikam-AADDSVNET) y la red virtual que hospedará el clúster de HDInsight habilitado para ESP (HDIFabrikam-HDIVNet). Use el siguiente código de PowerShell para emparejar las dos redes virtuales.

    Add-AzVirtualNetworkPeering -Name 'HDIVNet-AADDSVNet' -RemoteVirtualNetworkId (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-CentralUS').Id -VirtualNetwork (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-WestUS')
    
    Add-AzVirtualNetworkPeering -Name 'AADDSVNet-HDIVNet' -RemoteVirtualNetworkId (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-WestUS').Id -VirtualNetwork (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-CentralUS')
    
  4. Cree una nueva cuenta de Azure Data Lake Storage Gen2 llamada Hdigen2store. Configure la cuenta con la identidad administrada por el usuario HDIFabrikamManagedIdentity. Para obtener más información, consulte Uso de Data Lake Storage Gen2 con clústeres de Azure HDInsight.

  5. Configure DNS personalizado en la red virtual HDIFabrikam-AADDSVNET.

    1. Vaya a Azure Portal >Grupos de recursos>OnPremADVRG>HDIFabrikam-AADDSVNET>Servidores DNS.

    2. Seleccione Personalizado y escriba 10.0.0.4 y 10.0.0.5.

    3. Seleccione Guardar.

      Save custom DNS settings for a virtual network.

  6. Cree un nuevo clúster de Spark en HDInsight habilitado para ESP.

    1. Seleccione Personalizado (tamaño, configuración, aplicaciones) .

    2. Escriba detalles para Aspectos básicos (sección 1). Asegúrese de que el Tipo de clúster es Spark 2.3 (HDI 3.6) . Asegúrese de que el Grupo de recursos es HDIFabrikam-CentralUS.

    3. En Seguridad y redes (sección 2), rellene los siguientes detalles:

      • En Enterprise Security Package, seleccione Habilitado.

      • Seleccione Usuario administrador de clúster y seleccione la cuenta HDIAdmin que creó como usuario administrador local. Haga clic en Seleccionar.

      • Seleccione Grupo de acceso de clúster>HDIUserGroup. Cualquier usuario que agregue a este grupo en el futuro podrá acceder a los clústeres de HDInsight.

        Select the cluster access group HDIUserGroup.

    4. Complete los demás pasos de la configuración del clúster y compruebe los detalles en Resumen del clúster. Seleccione Crear.

  7. Inicie sesión en la interfaz de usuario de Ambari para el clúster recién creado en https://CLUSTERNAME.azurehdinsight.net. Use el nombre de usuario de administrador hdiadmin@hdifabrikam.com y su contraseña.

    The Apache Ambari UI sign-in window.

  8. En el panel del clúster, seleccione Roles.

  9. En la página Roles, en Asignar roles a estos, junto al rol Administrador de clústeres, escriba el grupo hdiusergroup.

    Assign the cluster admin role to hdiusergroup.

  10. Abra su cliente de Secure Shell (SSH) e inicie sesión en el clúster. Use el hdiuser que creó en la instancia de Active Directory local.

    Sign in to the cluster by using the SSH client.

Si puede iniciar sesión con esta cuenta, ha configurado el clúster de ESP correctamente para la sincronización con la instancia de Active Directory local.

Pasos siguientes

Lea Introducción a la seguridad de Apache Hadoop con ESP.