Configurando a Autenticação Kerberos para o Active Directory

Configure a autenticação do Kerberos para o Active Directory nos clusters do Big Data Service.

Pré-requisitos

Antes de configurar um Active Directory como um KDC para o cluster ODH, os seguintes pré-requisitos devem ser atendidos:

  • O host do cluster ODH deve ter acesso à rede e pode resolver os nomes de DNS dos controladores de domínio.
  • A conectividade segura de LDAP ou LDAPS do Active Directory foi configurada.
  • Usuário de bind e senha de bind do Active Directory.

O seguinte é necessário para configurar a autenticação do Kerberos usando apenas a abordagem do Active Directory.

  • O contêiner do usuário do Active Directory para os princípios de serviço foi criado e está disponível. Por exemplo, OU=Hadoop,OU=People,DC=apache,DC=org. As credenciais administrativas do Active Directory com controle delegado para criar, excluir e gerenciar contas de usuário no contêiner do usuário estão disponíveis.

Importando o Certificado do Active Directory

A cadeia de certificados deve ser importada para o cluster do Big Data Service para atualizar várias definições de configuração. Por exemplo, o respectivo arquivo .crt, armazenamentos de chaves etc. usados por serviços individuais. Por exemplo, Hue, Ranger e Ambari.
  1. Acesse o primeiro nó mestre (mn0) do cluster do Big Data Service.
  2. Obtenha a cadeia de certificados LDAP do administrador do Active Directory e armazene no arquivo. Por exemplo, /<path>/<manually_obtained_certifcate_chain>.crt.
  3. No Big Data Service 3.0.27 ou posterior, valide a cadeia de certificados para conectar o URL LDAP; caso contrário, ignore esta etapa.
    sudo bds_cert_util -ot validateURLConnection -url <ldap_fqdn>:<port> -ca /<path>/<manually_obtained_certifcate_chain>.crt
  4. Edite o arquivo /home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf da seguinte forma:
    1. Defina CUSTOM_CERTIFICATE como Verdadeiro.
    2. Defina ROOT_CERT_PATH como /<path>/<manually_obtained_certifcate_chain>.crt
      Observação

      O caminho do certificado obtido manualmente não deve entrar em conflito com nenhum dos valores a seguir.
      • Usado antes de aplicar o certificado TEMP_CERT_PATH=/etc/security/serverKeys_new #Initital certificate generation path.
      • Usado apenas ao gerar certificados autoassinados CERT_GEN_FOLDER=/etc/security/serverKeys_cert_gen

      Por padrão, usamos CERT_PATH=/etc/security/serverKeys #Temporary certificate directory. No entanto, se você personalizar o caminho do certificado raiz, deverá usar outro caminho.

    3. Salve as alterações.
  5. Execute o seguinte comando:
    sudo bds_cert_util --enable
  6. Acesse o Apache Ambari e reinicie todos os serviços necessários.

Obter Certificado Manualmente do Active Directory (Windows)

  1. Acesse o servidor do Active Directory.
  2. Execute mmc.
  3. Selecione Arquivo e, em seguida, Adicionar/Remover snapin.
  4. Selecione Certificados e, em seguida, Conta de Serviço.
  5. Selecione Próximo.
  6. Selecione Computador Local e, em seguida, Próximo.
  7. Selecione Serviços de Domínio do Active Directory e OK.
  8. Para localizar o certificado correspondente ao certificado raiz:
    1. Selecione Certificado - Serviço (Serviços de Domínio do Active Directory) no Computador Local.
    2. Selecione NTDS\Personal.
    3. Selecione Certificados.

      Para localizar o certificado, Emitido para e Emitido por são os mesmos para o certificado.

  9. Exporte o certificado localizado na etapa anterior:
    1. Clique com o botão direito do mouse na linha do certificado raiz.
    2. Selecione Todas as Tarefas e, em seguida, Exportar.
      O assistente de exportação de certificado é aberto.
    3. Selecione Próximo.
    4. Selecione X.509 codificado em Base-64 para o Formato do arquivo.
    5. Selecione Próximo e informe o nome da pasta.
    6. Selecione Finalizar.
  10. O arquivo .cer criado na etapa anterior pode ser aberto no Textpad para copiar o conteúdo do certificado codificado com base em 64. Ou o próprio arquivo .cer pode ser copiado.

Limpando Tokens do Kerberos

  1. Acesse o primeiro nó principal (mn0) do cluster do Big Data Service.
  2. Para garantir que nenhum token Kerberos desatualizado esteja presente, execute:

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