Todos os produtos
Search
Central de documentação

E-MapReduce:Ativar a autenticação Kerberos

Última atualização: Oct 10, 2026

Ative a autenticação Kerberos em um workspace do Serverless Spark para exigir a autenticação dos clientes antes do envio de jobs do Spark, melhorando a segurança na execução.

Pré-requisitos

  • Você criou um principal e fez o upload do arquivo keytab exportado para o OSS.

    Caso utilize um cluster EMR on ECS, consulte Uso básico do Kerberos para obter mais informações.

  • Você criou um workspace do Serverless Spark. Para mais detalhes, consulte Gerencie workspaces.

Limitações

  • É possível vincular um workspace a apenas um cluster Kerberos.

  • A autenticação Kerberos é compatível apenas com jobs em lote do Spark.

Procedimento

Etapa 1: Preparar a rede

Antes de configurar a autenticação Kerberos, estabeleça a conectividade de rede entre o Serverless Spark e sua VPC. Para saber mais, consulte Estabelecer conectividade de rede entre o EMR Serverless Spark e outras VPCs.

Nota

Ao adicionar uma regra de grupo de segurança, recomendamos abrir a porta UDP 88, que é a porta padrão para o serviço Kerberos.

Etapa 2: Configurar a autenticação Kerberos

  1. Acesse a página Kerberos Authentication.

    1. Acesse o console do EMR.

    2. No painel de navegação à esquerda, escolha EMR Serverless > Spark.

    3. Na página Spark, clique no nome do workspace de destino.

    4. Na página EMR Serverless Spark, escolha Security > Kerberos Authentication no painel de navegação à esquerda.

  2. Clique em Bind Kerberos.

  3. Na página Bind Kerberos, configure os seguintes parâmetros e clique em OK.

    Parâmetro

    Descrição

    Kerberos Name

    Insira um nome personalizado.

    Normal Network Connection

    Selecione a conexão de rede que você criou.

    Kerberos krb5.conf

    1. Insira o conteúdo do arquivo krb5.conf.

      O arquivo krb5.conf geralmente está localizado em /etc/krb5.conf no servidor Kerberos. Obtenha o conteúdo do arquivo com base no seu ambiente:

      • Caso utilize o serviço Kerberos de um cluster EMR Datalake, execute as etapas a seguir para obter o conteúdo:

        1. Acesse o nó mestre do cluster EMR. Para mais informações, consulte Fazer logon em um cluster.

        2. Execute o comando a seguir para exibir e copiar manualmente o conteúdo do arquivo /etc/krb5.conf.

          cat /etc/krb5.conf
        3. Cole o conteúdo no campo Kerberos krb5.conf.

      • Para outros clusters EMR ou um serviço Kerberos autogerenciado, substitua o hostname no arquivo por um endereço IP privado na VPC.

    2. (Opcional) Dependendo do protocolo de rede, talvez seja necessário adicionar configurações ao arquivo krb5.conf.

      • Caso tenha aberto a porta UDP 88 ao configurar a conexão de rede na Etapa 1: Preparar a rede, nenhuma configuração adicional é necessária.

      • Caso utilize o protocolo TCP para a conexão de rede configurada na Etapa 1: Preparar a rede, adicione a configuração udp_preference_limit = 1 na seção [libdefaults].

        image

  4. Na coluna Actions, clique em Enable.

  5. Na caixa de diálogo, clique em OK.

Etapa 3: Enviar um job em lote do Spark

Depois de ativar a autenticação Kerberos, forneça as credenciais do cliente ao enviar um job em lote do Spark. Sem as configurações necessárias, o job falha e retorna o erro spark.kerberos.keytab and spark.kerberos.principal not configured.

  1. Crie um job em lote do Spark. Para mais informações, consulte Início rápido do PySpark.

  2. Na nova guia de desenvolvimento, adicione as seguintes configurações e clique em Run.

    image

    Parâmetro

    Descrição

    Normal Network Connection

    Selecione o nome da conexão de rede que você criou na Etapa 1.

    Spark Configuration

    Configure os seguintes parâmetros.

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

    A tabela a seguir descreve os parâmetros.

    • spark.files: o caminho completo no OSS do arquivo keytab enviado.

    • spark.kerberos.keytab: o nome do arquivo keytab.

    • spark.kerberos.principal: o principal no arquivo keytab usado para autenticação com o serviço Kerberos. Execute o comando klist -kt <keytab_file> para visualizar o nome do principal no arquivo keytab de destino.

    Caso precise se conectar a um Hive Metastore com Kerberos ativado para obter metadados, adicione as seguintes informações à seção Spark Configuration.

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

    Para spark.hive.metastore.kerberos.principal, especifique o principal do arquivo keytab usado pelo Hive Metastore. Para encontrar o caminho do arquivo keytab, acesse o console do EMR on ECS, localize o serviço Hive e abra a página Configure. Na guia hive-site.xml, verifique o valor de hive.metastore.kerberos.keytab.file. Em seguida, execute o comando klist -kt &lt;path_to_hive_metastore_keytab_file&gt; para visualizar o principal.

    O valor do parâmetro spark.hive.metastore.kerberos.principal deve estar em um dos seguintes formatos:

    • O formato típico é hive/&lt;hostname&gt;@&lt;REALM&gt;. Nesse formato, &lt;hostname&gt; é o nome de domínio totalmente qualificado (FQDN) do nó do Hive Metastore. Execute o comando hostname -f para obter o FQDN. &lt;REALM&gt; é o realm do Key Distribution Center (KDC).

    • Caso o endereço de conexão do Hive Metastore use um hostname, é possível simplificar o formato para hive/_HOST@&lt;REALM&gt;. Ao se conectar, o Spark substitui automaticamente o _HOST pelo hostname no endereço de conexão do Hive Metastore. Esse formato é obrigatório caso precise configurar vários Hive Metastores.

  3. Quando o job estiver em execução, acesse a seção Execution Records e clique em Details na coluna Actions do job.

  4. Na página Application em Job History, visualize as informações de log.

    image

Etapa 4 (Opcional): Conectar a um metastore Kerberos

Caso o catálogo de dados do seu workspace se conecte a um Hive Metastore com Kerberos ativado, especifique o caminho do arquivo keytab e o nome do principal ao adicionar o Hive Metastore externo.

image

  • Metastore service address: o endereço deve corresponder ao endereço do serviço definido no principal do serviço do metastore. O endereço geralmente é um hostname.

  • Kerberos keytab file: o caminho para o arquivo keytab do Kerberos.

  • Kerberos principal: o principal no arquivo keytab usado para autenticação. Para encontrar o nome do principal, execute o comando klist -kt &lt;keytab_file&gt;.