Todos os produtos
Search
Central de documentação

E-MapReduce:Enable Kerberos authentication

Última atualização: Jun 27, 2026

Ative a autenticação Kerberos em um workspace do Serverless Spark para exigir que todos os clientes se autentiquem antes de enviar tarefas Spark. Essa configuração reduz o acesso não autorizado e aumenta a segurança na execução das tarefas.

Limitações

  • Um workspace pode ser vinculado a apenas um cluster Kerberos.

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

Importante

A autenticação Kerberos exige conectividade de rede entre o EMR Serverless Spark e sua Virtual Private Cloud (VPC). Além disso, a porta UDP 88 deve estar aberta para o tráfego Kerberos. Conclua a configuração de rede na Etapa 1 antes de configurar a autenticação.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Um principal Kerberos criado, com seu arquivo keytab exportado e carregado no Object Storage Service (OSS)

  • Um workspace do Serverless Spark. Consulte Gerenciar workspaces

Etapa 1: Preparar a rede

Estabeleça conectividade de rede entre o EMR Serverless Spark e sua VPC. Consulte Estabelecer conectividade de rede entre o EMR Serverless Spark e outras VPCs.

Nota

Ao adicionar uma regra de grupo de segurança, abra a porta UDP 88 para o tráfego Kerberos. Se configurar a conexão de rede via TCP, adicione udp_preference_limit = 1 em [libdefaults] no arquivo krb5.conf durante a Etapa 2.

Etapa 2: Configurar a autenticação Kerberos

Esta etapa vincula seu workspace do Serverless Spark a um cluster Kerberos e ativa a imposição de autenticação.

  1. No console do EMR, escolha EMR Serverless > Spark no painel de navegação à esquerda.

  2. Na página Spark, clique em nome do workspace desejado.

  3. No painel de navegação à esquerda, clique em Security > Kerberos Authentication.

  4. Clique em Bind Kerberos.

  5. Na página Bind Kerberos, configure os parâmetros a seguir e clique em OK.

    Parâmetro

    Descrição

    Kerberos Name

    Insira um nome personalizado.

    Network Connection

    Selecione a conexão de rede criada na Etapa 1.

    Kerberos krb5.conf

    Insira o conteúdo do seu arquivo krb5.conf. Consulte as instruções abaixo.

    **Como obter o conteúdo do krb5.conf**

    O arquivo krb5.conf geralmente está localizado em /etc/krb5.conf no servidor Kerberos.

    • Cluster EMR DataLake: Faça login no nó mestre (consulte Fazer login em um cluster), execute cat /etc/krb5.conf e copie a saída para o campo Kerberos krb5.conf.

    • Outros clusters EMR ou Kerberos autogerenciado: Substitua o valor hostname no arquivo pelo endereço IP privado da sua VPC.

    Se você abriu a porta UDP 88 na Etapa 1, nenhuma alteração no krb5.conf é necessária. Caso tenha usado TCP, adicione udp_preference_limit = 1 em [libdefaults].

    image

  6. Na coluna Actions, clique em Enable e, em seguida, clique em OK na caixa de diálogo de confirmação.

Etapa 3: Enviar um job em lote do Spark com autenticação Kerberos

Após ativar a autenticação Kerberos, todo job em lote do Spark deve incluir as credenciais Kerberos. O envio de um job sem essas credenciais retorna o erro: spark.kerberos.keytab and spark.kerberos.principal not configured.

  1. Crie um job em lote do Spark. Consulte Início rápido do PySpark.

  2. Na aba de desenvolvimento, defina Network Connection como a conexão adicionada na Etapa 1. Em seguida, adicione os seguintes parâmetros Kerberos à Spark Configuration e clique em Run.

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

    Parâmetro

    Descrição

    spark.files

    Caminho completo do arquivo keytab carregado no OSS.

    spark.kerberos.keytab

    Nome do arquivo keytab.

    spark.kerberos.principal

    Principal no arquivo keytab, usado para autenticação de identidade com o Kerberos. Execute klist -kt <keytab_file> para visualizar o principal.

    (Opcional) Conectar-se a um Hive Metastore com Kerberos ativado a partir do job Para consultar metadados de um Hive Metastore protegido por Kerberos, adicione estes parâmetros à Spark Configuration:

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

    Defina spark.hive.metastore.kerberos.principal como o principal do arquivo keytab usado pelo Hive Metastore. Para encontrá-lo:

    • No console do EMR on ECS, acesse a página Configuration do serviço Hive e abra a aba hive-site.xml. Localize o valor de hive.metastore.kerberos.keytab.file.

    • Execute klist -kt <path_to_Hive_Metastore_keytab_file> para recuperar o principal.

    O formato do principal é hive/<hostname>@<REALM>, onde <hostname> é o nome de domínio totalmente qualificado (FQDN) do nó que executa o Hive Metastore (execute hostname -f para obtê-lo) e <REALM> é o realm do KDC.

    Se o endpoint do Hive Metastore usar um nome de host, utilize hive/_HOST@<REALM>. O Spark substitui automaticamente _HOST pelo nome de host do endpoint do Hive Metastore. Esse formato é obrigatório ao configurar múltiplos Hive Metastores.

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

  4. Em Job History, visualize os logs na página Log Exploration.

    image

Etapa 4 (Opcional): Conectar o catálogo de dados do workspace a um Hive Metastore com Kerberos ativado

Se o catálogo de dados do workspace precisar buscar metadados de um Hive Metastore protegido por Kerberos, especifique o caminho do arquivo keytab e o principal ao adicionar um Hive Metastore externo.

image

Campo

Descrição

Kerberos keytab file

Caminho para o arquivo keytab do Kerberos.

Kerberos principal

Nome do principal no arquivo keytab, usado para autenticação de identidade com o Kerberos. Execute klist -kt <keytab_file> para visualizar o principal.