Todos los productos
Search
Centro de documentos

E-MapReduce:Enable Kerberos authentication

Última actualización: Oct 10, 2026

Habilite la autenticación Kerberos en un espacio de trabajo de Serverless Spark para que los clientes deban autenticarse antes de enviar tareas de Spark. Esto mejora la seguridad durante la ejecución de las tareas.

Requisitos previos

  • Creó un principal y cargó su archivo keytab exportado en OSS.

    Si utiliza un clúster de EMR on ECS, consulte Basic Kerberos usage para obtener más información.

  • Se creó un espacio de trabajo de Serverless Spark. Para obtener más información, consulte Manage workspaces.

Límites

  • Un espacio de trabajo solo se puede vincular a un clúster de Kerberos.

  • La autenticación Kerberos solo es compatible con trabajos por lotes de Spark.

Procedimiento

Paso 1: Preparar la red

Antes de configurar la autenticación Kerberos, establezca la conectividad de red entre Serverless Spark y su VPC. Para obtener más información, consulte Establish network connectivity between EMR Serverless Spark and other VPCs.

Nota

Al agregar una regla de security group, se recomienda abrir el puerto UDP 88, ya que es el puerto predeterminado del servicio Kerberos.

Paso 2: Configurar la autenticación Kerberos

  1. Vaya a la página Kerberos Authentication.

    1. Inicie sesión en la consola de EMR.

    2. En el panel de navegación izquierdo, elija EMR Serverless > Spark.

    3. En la página Spark, haga clic en el nombre del espacio de trabajo de destino.

    4. En la página EMR Serverless Spark, elija Security > Kerberos Authentication en el panel de navegación izquierdo.

  2. Haga clic en Bind Kerberos.

  3. En la página Bind Kerberos, configure a continuación los parámetros y haga clic en OK.

    Parámetro

    Descripción

    Kerberos Name

    Introduzca un nombre personalizado.

    Normal Network Connection

    Seleccione la conexión de red que creó.

    Kerberos krb5.conf

    1. Introduzca el contenido del archivo krb5.conf.

      El archivo krb5.conf suele ubicarse en /etc/krb5.conf en el servidor Kerberos. Obtenga el contenido del archivo según su entorno:

      • Si utiliza el servicio Kerberos de un clúster EMR Datalake, siga estos pasos para obtener el contenido:

        1. Inicie sesión en el nodo maestro del clúster de EMR. Para obtener más información, consulte Log on to a cluster.

        2. Ejecute el siguiente comando para consultar y copiar manualmente el contenido del archivo /etc/krb5.conf.

          cat /etc/krb5.conf
        3. Pegue el contenido en el campo Kerberos krb5.conf.

      • Para otros clústeres de EMR o servicios Kerberos administrados por usted, reemplace el hostname del archivo por una dirección IP privada de la VPC.

    2. (Opcional) Según el protocolo de red, es posible que deba agregar configuraciones al archivo krb5.conf.

      • Si abrió el puerto UDP 88 cuando configuró la conexión de red en Step 1: Prepare the network, no se requiere ninguna configuración adicional.

      • Si utiliza el protocolo TCP para la conexión de red configurada en Step 1: Prepare the network, debe agregar la configuración udp_preference_limit = 1 dentro de la sección [libdefaults].

        image

  4. En la columna Actions, haga clic en Enable.

  5. En el cuadro de diálogo, haga clic en OK.

Paso 3: Enviar un trabajo por lotes de Spark

Después de habilitar la autenticación Kerberos, debe proporcionar las credenciales del cliente al enviar un trabajo por lotes de Spark. Sin las configuraciones obligatorias, el trabajo falla y muestra un error que indica que spark.kerberos.keytab and spark.kerberos.principal not configured.

  1. Cree un trabajo por lotes de Spark. Para obtener más información, consulte PySpark Quick Start.

  2. En la nueva pestaña de desarrollo, agregue a continuación las configuraciones y luego haga clic en Run.

    image

    Parámetro

    Descripción

    Normal Network Connection

    Seleccione el nombre de la conexión de red que creó en el paso 1.

    Spark Configuration

    Configure a continuación los parámetros.

    spark.files oss://<bucketname>/path/test.keytab
    spark.kerberos.keytab test.keytab
    spark.kerberos.principal <username>@<REALM>

    En la tabla siguiente se describen los parámetros.

    • spark.files: La ruta completa en OSS del archivo keytab que se cargó.

    • spark.kerberos.keytab: El nombre del archivo keytab.

    • spark.kerberos.principal: El principal del archivo keytab que se usa para la autenticación con el servicio Kerberos. Puede ejecutar el comando klist -kt <keytab_file> para consultar el nombre del principal en el archivo keytab de destino.

    Si necesita conectarse a un Hive Metastore con Kerberos habilitado para obtener metadatos, agregue a continuación la información en la sección Spark Configuration.

    spark.hive.metastore.sasl.enabled true
    spark.hive.metastore.kerberos.principal hive/<hostname>@<REALM>

    Para spark.hive.metastore.kerberos.principal, especifique el principal del archivo keytab que utiliza Hive Metastore. Para encontrar la ruta del archivo keytab, vaya a la consola de EMR on ECS, busque el servicio Hive y vaya a la página Configure. En la pestaña hive-site.xml, compruebe el valor de hive.metastore.kerberos.keytab.file. Luego, ejecute el comando klist -kt <path_to_hive_metastore_keytab_file> para consultar el principal.

    El valor del parámetro spark.hive.metastore.kerberos.principal debe tener uno de los siguientes formatos:

    • El formato habitual es hive/<hostname>@<REALM>. En este formato, <hostname> es el nombre de dominio completo (FQDN) del nodo de Hive Metastore. Puede ejecutar el comando hostname -f para obtener el FQDN. <REALM> es el realm del Key Distribution Center (KDC).

    • Si la dirección de conexión de Hive Metastore utiliza un nombre de host, puede simplificar el formato a hive/_HOST@<REALM>. Al conectarse, Spark reemplaza automáticamente _HOST por el nombre de host de la dirección de conexión de Hive Metastore. Este formato es obligatorio si necesita configurar varios Hive Metastores.

  3. Una vez que el trabajo esté en ejecución, vaya a la sección Execution Records y haga clic en Details en la columna Actions del trabajo.

  4. En la página Application de Job History, puede consultar la información de los registros.

    image

Paso 4 (opcional): Conectarse a un metastore de Kerberos

Si el catálogo de datos de su espacio de trabajo se conecta a un Hive Metastore con Kerberos habilitado, debe especificar la ruta del archivo keytab y el nombre del principal al agregar el Hive Metastore externo.

image

  • Metastore service address: La dirección debe coincidir con la dirección de servicio definida en el principal del servicio de metastore. Por lo general, esta dirección es un nombre de host.

  • Kerberos keytab file: La ruta del archivo keytab de Kerberos.

  • Kerberos principal: El principal del archivo keytab que se usa para la autenticación. Para encontrar el nombre del principal, ejecute el comando klist -kt <keytab_file>.