Usar o pacote de segurança Enterprise no HDInsight

O cluster HDInsight do Azure padrão é um cluster de usuário único. É adequado para a maioria das empresas que têm equipes de aplicativos menores compilando grandes cargas de trabalho de dados. Cada usuário pode criar um cluster dedicado sob demanda e destruí-lo quando não for mais necessário.

Muitas empresas adotaram um modelo no qual os clusters são gerenciados por equipes de TI e várias equipes de aplicativos compartilham clusters. Essas empresas maiores precisam de acesso multiusuário para cada cluster no Azure HDInsight.

O HDInsight conta com um provedor de identidade popular -- o Active Directory -- de maneira gerenciada. Integrando o HDInsight ao Microsoft Entra Domain Services, você poderá acessar os clusters usando suas credenciais de domínio.

As VMs (máquinas virtuais) no HDInsight são ingressadas no domínio para o domínio fornecido. Portanto, todos os serviços em execução no HDInsight (Apache Ambari, servidor Apache Hive, Apache Ranger, servidor thrift do Apache Spark e outros) funcionam perfeitamente para o usuário autenticado. Os administradores podem, então, criar políticas de autorização fortes usando o Apache Ranger para fornecer controle de acesso baseado em função para recursos no cluster.

Integrar o HDInsight ao Active Directory

O software livre Apache Hadoop depende do protocolo Kerberos para autenticação e segurança. Portanto, os nós de cluster do HDInsight com Enterprise Security Package (ESP) são unidos a um domínio gerenciado pelo Microsoft Entra Domain Services. A segurança do Kerberos é configurada para os componentes do Hadoop no cluster.

As seguintes coisas são criadas automaticamente:

  • uma entidade de serviço para cada componente do Hadoop
  • uma entidade de segurança do computador para cada computador que tenha ingressado no domínio
  • uma UO (unidade organizacional) para cada cluster para armazenar essas entidades de serviço e de segurança do computador

Para resumir, você precisa configurar um ambiente com:

  • Um domínio do Active Directory (gerenciado pelo Microsoft Entra Domain Services). O nome de domínio deve ter 39 caracteres ou menos para trabalhar com o Azure HDInsight.
  • LDAP Seguro (LDAPS) habilitado no Microsoft Entra Domain Services.
  • Conectividade de rede adequada da rede virtual do HDInsight para a rede virtual do Microsoft Entra Domain Services, se você escolher redes virtuais separadas para elas. Uma VM dentro da rede virtual do HDInsight deve ter uma linha de visão para o Microsoft Entra Domain Services por meio de emparelhamento de rede virtual. Se o HDInsight e o Microsoft Entra Domain Services forem implantados na mesma rede virtual, a conectividade será fornecida automaticamente e nenhuma outra ação será necessária.

Configurar controladores de domínio diferentes

O HDInsight atualmente dá suporte somente ao Microsoft Entra Domain Services como o controlador de domínio principal que o cluster usa para comunicação de Kerberos. Mas outras configurações complexas do Active Directory são possíveis, desde que essa configuração leve à habilitação do Microsoft Entra Domain Services para acesso ao HDInsight.

Serviços de Domínio do Microsoft Entra

O Microsoft Entra Domain Services fornece um domínio gerenciado totalmente compatível com o Windows Server Active Directory. A Microsoft cuida do gerenciamento, aplicação de patches e monitoramento do domínio em uma configuração HA (altamente disponível). Você pode implantar o cluster sem se preocupar em manter os controladores de domínio.

Os usuários, grupos e senhas são sincronizados do Microsoft Entra ID. A sincronização unidirecional da instância do Microsoft Entra para o Microsoft Entra Domain Services permite que os usuários entrem no cluster usando as mesmas credenciais corporativas.

Para obter mais informações, confira Configurar clusters do HDInsight com o ESP usando o Microsoft Entra Domain Services.

Active Directory ou Active Directory local em VMs de IaaS

Se você tiver uma instância do Active Directory local ou configurações mais complexas do Active Directory para o domínio, poderá sincronizar essas identidades com o Microsoft Entra ID usando o Microsoft Entra Connect. Em seguida, poderá habilitar o Microsoft Entra Domain Services nesse locatário do Active Directory.

Como o Kerberos depende de hashes de senha, você deve habilitar a sincronização de hash de senha no Microsoft Entra Domain Services.

Se você estiver usando a federação com o Serviços de Federação do Active Directory (AD FS), será necessário habilitar a sincronização de hash de senha. (Para uma instalação recomendada, confira este vídeo.) A sincronização de hash de senha ajuda na recuperação de desastre caso a infraestrutura do ADFS falhe e também ajuda a fornecer proteção de credenciais vazadas. Para obter mais informações, confira Habilitar a sincronização de hash de senha com o Microsoft Entra Connect Sync.

Usar o Active Directory local ou o Active Directory apenas em VMs IaaS, sem o Microsoft Entra ID e o Microsoft Entra Domain Services, não é uma configuração com suporte para clusters do HDInsight com ESP.

Observação

Os módulos Azure AD e MSOnline PowerShell estão preteridos desde 30 de março de 2024. Para saber mais, leia a atualização de preterição. Após essa data, o suporte a esses módulos se limitará à assistência à migração para o SDK do Microsoft Graph PowerShell e às correções de segurança. Os módulos preteridos continuarão funcionando até 30 de março de 2025.

Recomendamos migrar para o Microsoft Graph PowerShell para interagir com o Microsoft Entra ID (antigo Azure AD). Para perguntas comuns sobre migração, consulte as Perguntas Frequentes sobre Migração. Observação: As versões 1.0.x do MSOnline poderão sofrer interrupções após 30 de junho de 2024.

Se a federação estiver sendo usada e hashes de senha forem sincronizados corretamente, mas você estiver obtendo falhas de autenticação, verifique se a autenticação de senha de nuvem está habilitada para a entidade de serviço do PowerShell. Caso contrário, você deverá definir uma política do Home Realm Discovery (HRD) para seu locatário do Microsoft Entra. Para verificar e definir a política de HRD:

  1. Instale a versão preliminar do módulo PowerShell do Azure AD.

    Install-Module AzureAD
    
  2. Conecte usando credenciais de um administrador global (administrador de locatários).

    Connect-AzureAD
    
  3. Verifique se a entidade de serviço do Microsoft Azure PowerShell já foi criada.

    Get-AzureADServicePrincipal -SearchString "Microsoft Azure PowerShell"
    
  4. Se ela não existir, crie a entidade de serviço.

    $powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
    
  5. Crie e anexe a política a essa entidade de serviço.

     # Determine whether policy exists
     Get-AzureADPolicy | Where {$_.DisplayName -eq "EnableDirectAuth"}
    
     # Create if not exists
     $policy = New-AzureADPolicy `
         -Definition @('{"HomeRealmDiscoveryPolicy":{"AllowCloudPasswordValidation":true}}') `
         -DisplayName "EnableDirectAuth" `
         -Type "HomeRealmDiscoveryPolicy"
    
     # Determine whether a policy for the service principal exist
     Get-AzureADServicePrincipalPolicy `
         -Id $powershellSPN.ObjectId
    
     # Add a service principal policy if not exist
     Add-AzureADServicePrincipalPolicy `
         -Id $powershellSPN.ObjectId `
         -refObjectID $policy.ID
    

Próximas etapas