Utilizar o Pacote de Segurança Enterprise no HDInsightUse Enterprise Security Package in HDInsight

O cluster Standard Azure HDInsight é um cluster de um único utilizador.The standard Azure HDInsight cluster is a single-user cluster. É adequado para a maioria das empresas que têm equipas de aplicação mais pequenas construindo grandes cargas de dados.It's suitable for most companies that have smaller application teams building large data workloads. Cada utilizador pode criar um cluster dedicado a pedido e destruí-lo quando já não é necessário.Each user can create a dedicated cluster on demand and destroy it when it's not needed anymore.

Muitas empresas avançaram para um modelo em que as equipas de TI gerem clusters, e várias equipas de aplicação partilham clusters.Many enterprises have moved toward a model in which IT teams manage clusters, and multiple application teams share clusters. Estas grandes empresas precisam de acesso multiutilizador a cada cluster em Azure HDInsight.These larger enterprises need multiuser access to each cluster in Azure HDInsight.

O HDInsight conta com um fornecedor de identidade popular-- Ative Directory -- de uma forma gerida.HDInsight relies on a popular identity provider--Active Directory--in a managed way. Ao integrar o HDInsight com os Serviços de Domínio de Diretório Ativo Azure (Azure AD DS),pode aceder aos clusters utilizando as suas credenciais de domínio.By integrating HDInsight with Azure Active Directory Domain Services (Azure AD DS), you can access the clusters by using your domain credentials.

As máquinas virtuais (VMs) em HDInsight são domínio sintetizado ao seu domínio fornecido.The virtual machines (VMs) in HDInsight are domain joined to your provided domain. Assim, todos os serviços em execução no HDInsight (Apache Ambari, servidor Apache Hive, Apache Ranger, Servidor de segunda mão Apache Spark, entre outros) funcionam perfeitamente para o utilizador autenticado.So, all the services running on HDInsight (Apache Ambari, Apache Hive server, Apache Ranger, Apache Spark thrift server, and others) work seamlessly for the authenticated user. Os administradores podem então criar políticas de autorização fortes usando o Apache Ranger para fornecer um controlo de acesso baseado em papéis para recursos no cluster.Administrators can then create strong authorization policies by using Apache Ranger to provide role-based access control for resources in the cluster.

Integrar o HDInsight no Active DirectoryIntegrate HDInsight with Active Directory

Apache Hadoop de código aberto baseia-se no protocolo Kerberos para autenticação e segurança.Open-source Apache Hadoop relies on the Kerberos protocol for authentication and security. Portanto, os nós de cluster HDInsight com pacote de segurança empresarial (ESP) são unidos a um domínio que é gerido pelo Azure AD DS.Therefore, HDInsight cluster nodes with Enterprise Security Package (ESP) are joined to a domain that's managed by Azure AD DS. A segurança kerberos está configurada para os componentes Hadoop no cluster.Kerberos security is configured for the Hadoop components on the cluster.

As seguintes coisas são criadas automaticamente:The following things are created automatically:

  • Um diretor de serviço para cada componente HadoopA service principal for each Hadoop component
  • Um diretor de máquinas para cada máquina que está unida ao domínioA machine principal for each machine that's joined to the domain
  • Uma Unidade Organizacional (OU) para cada cluster armazenar estes diretores de serviço e máquinasAn Organizational Unit (OU) for each cluster to store these service and machine principals

Para resumir, é preciso criar um ambiente com:To summarize, you need to set up an environment with:

  • Um domínio de Diretório Ativo (gerido por Azure AD DS).An Active Directory domain (managed by Azure AD DS). O nome de domínio deve ter 39 caracteres ou menos para trabalhar com o Azure HDInsight.The domain name must be 39 characters or less to work with Azure HDInsight.
  • LDAP seguro (LDAPS) ativado em DS AD Azure.Secure LDAP (LDAPS) enabled in Azure AD DS.
  • Conectividade de rede adequada da rede virtual HDInsight para a rede virtual Azure AD DS, se escolher redes virtuais separadas para eles.Proper networking connectivity from the HDInsight virtual network to the Azure AD DS virtual network, if you choose separate virtual networks for them. Um VM dentro da rede virtual HDInsight deve ter uma linha de visão para O DS Azure Através do epeering virtual da rede.A VM inside the HDInsight virtual network should have a line of sight to Azure AD DS through virtual network peering. Se hDInsight e Azure AD DS forem implantados na mesma rede virtual, a conectividade é fornecida automaticamente e não são necessárias mais medidas.If HDInsight and Azure AD DS are deployed in the same virtual network, the connectivity is automatically provided, and no further action is needed.

Configurar diferentes controladores de domínioSet up different domain controllers

AhDInsight suporta atualmente apenas O Azure AD DS como o controlador de domínio principal que o cluster utiliza para a comunicação kerberos.HDInsight currently supports only Azure AD DS as the main domain controller that the cluster uses for Kerberos communication. Mas outras configurações complexas do Ative Directory são possíveis, desde que tal configuração conduza a permitir o Acesso AD DS Azure para o HDInsight.But other complex Active Directory setups are possible, as long as such a setup leads to enabling Azure AD DS for HDInsight access.

Azure Active Directory Domain ServicesAzure Active Directory Domain Services

O Azure AD DS fornece um domínio gerido que é totalmente compatível com o Diretório Ativo do Windows Server.Azure AD DS provides a managed domain that's fully compatible with Windows Server Active Directory. A Microsoft cuida de gerir, corrigir e monitorizar o domínio numa configuração altamente disponível (HA).Microsoft takes care of managing, patching, and monitoring the domain in a highly available (HA) setup. Pode implantar o seu cluster sem se preocupar em manter controladores de domínio.You can deploy your cluster without worrying about maintaining domain controllers.

Os utilizadores, grupos e senhas são sincronizados a partir de Azure AD.Users, groups, and passwords are synchronized from Azure AD. A sincronização unidirecional da sua instância Azure AD para O DS Azure permite que os utilizadores inscrevam-se no cluster utilizando as mesmas credenciais corporativas.The one-way sync from your Azure AD instance to Azure AD DS enables users to sign in to the cluster by using the same corporate credentials.

Para mais informações, consulte os clusters Configure HDInsight com ESP utilizando O DS Azure.For more information, see Configure HDInsight clusters with ESP using Azure AD DS.

Diretório Ativo no local ou Diretório Ativo em VMs IaaSOn-premises Active Directory or Active Directory on IaaS VMs

Se tiver uma instância de Diretório Ativo no local ou configurações de Diretório Ativo mais complexas para o seu domínio, pode sincronizar essas identidades com o Azure AD Através do Azure AD Connect.If you have an on-premises Active Directory instance or more complex Active Directory setups for your domain, you can sync those identities to Azure AD by using Azure AD Connect. Em seguida, pode ativar o Azure AD DS naquele inquilino do Diretório Ativo.You can then enable Azure AD DS on that Active Directory tenant.

Como kerberos depende de hashes de senha, você deve ativar a sincronização de hash de senha no Azure AD DS.Because Kerberos relies on password hashes, you must enable password hash sync on Azure AD DS.

Se estiver a utilizar a federação com serviços da Federação de Diretórios Ativos (AD FS), deve ativar a sincronização de hash de senha. (Para uma configuração recomendada, consulte este vídeo.) A sincronização de hash de palavra-passe ajuda na recuperação de desastres no caso da sua infraestrutura AD FS falhar, e também ajuda a fornecer proteção credencial vazada.If you're using federation with Active Directory Federation Services (AD FS), you must enable password hash sync. (For a recommended setup, see this video.) Password hash sync helps with disaster recovery in case your AD FS infrastructure fails, and it also helps provide leaked-credential protection. Para mais informações, consulte Enable password hash sync with Azure AD Connect sync.For more information, see Enable password hash sync with Azure AD Connect sync.

Utilizar no local o Diretório Ativo ou O Diretório Ativo apenas em VMs IaaS, sem Azure AD e Azure AD DS, não é uma configuração suportada para clusters HDInsight com ESP.Using on-premises Active Directory or Active Directory on IaaS VMs alone, without Azure AD and Azure AD DS, isn't a supported configuration for HDInsight clusters with ESP.

Se a federação estiver a ser utilizada e as hashes de palavra-passe estiverem sincronizadas corretamente, mas está a obter falhas de autenticação, verifique se a autenticação de palavra-passe em nuvem está ativada para o principal de serviço powerShell.If federation is being used and password hashes are synced correctly, but you're getting authentication failures, check if cloud password authentication is enabled for the PowerShell service principal. Caso contrário, deve definir uma política de Home Realm Discovery (HRD) para o seu inquilino Azure AD.If not, you must set a Home Realm Discovery (HRD) policy for your Azure AD tenant. Para verificar e definir a política de HRD:To check and set the HRD policy:

  1. Instale o módulo de pré-visualização Azure AD PowerShell.Install the preview Azure AD PowerShell module.

    Install-Module AzureAD
    
  2. Conecte-se utilizando credenciais de administrador global (administrador de inquilinos).Connect using global administrator (tenant administrator) credentials.

    Connect-AzureAD
    
  3. Verifique se o diretor de serviço microsoft Azure PowerShell já foi criado.Check if the Microsoft Azure PowerShell service principal has already been created.

    Get-AzureADServicePrincipal -SearchString "Microsoft Azure Powershell"
    
  4. Se não existe, crie o diretor de serviço.If it doesn't exist, then create the service principal.

    $powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
    
  5. Crie e anexe a política a este diretor de serviço.Create and attach the policy to this service principal.

     # 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
    

Passos seguintesNext steps