Använda Enterprise Security Package i HDInsightUse Enterprise Security Package in HDInsight

Standard Azure HDInsight-klustret är ett kluster med en enda användare.The standard Azure HDInsight cluster is a single-user cluster. Det är lämpligt för de flesta företag som har mindre program grupper som skapar stora data arbets belastningar.It's suitable for most companies that have smaller application teams building large data workloads. Varje användare kan skapa ett dedikerat kluster på begäran och förstöra det när det inte behövs längre.Each user can create a dedicated cluster on demand and destroy it when it's not needed anymore.

Många företag har flyttats till en modell där IT-team hanterar kluster och flera program team delar kluster.Many enterprises have moved toward a model in which IT teams manage clusters, and multiple application teams share clusters. Dessa större företag behöver ha åtkomst till flera användare till varje kluster i Azure HDInsight.These larger enterprises need multiuser access to each cluster in Azure HDInsight.

HDInsight förlitar sig på en populär identitets leverantör – Active Directory--på ett hanterat sätt.HDInsight relies on a popular identity provider--Active Directory--in a managed way. Genom att integrera HDInsight med Azure Active Directory Domain Services (Azure AD DS)kan du komma åt klustren med hjälp av dina domänautentiseringsuppgifter.By integrating HDInsight with Azure Active Directory Domain Services (Azure AD DS), you can access the clusters by using your domain credentials.

De virtuella datorerna (VM) i HDInsight är domänanslutna i den angivna domänen.The virtual machines (VMs) in HDInsight are domain joined to your provided domain. Alla tjänster som körs på HDInsight (Apache Ambari, Apache Hive Server, Apache Ranger, Apache Spark Thrift-Server och andra) fungerar sömlöst för den autentiserade användaren.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. Administratörer kan sedan skapa starka Auktoriseringsprinciper genom att använda Apache Ranger för att tillhandahålla rollbaserad åtkomst kontroll för resurser i klustret.Administrators can then create strong authorization policies by using Apache Ranger to provide role-based access control for resources in the cluster.

Integrera HDInsight med Active DirectoryIntegrate HDInsight with Active Directory

Apache Hadoop med öppen källkod förlitar sig på Kerberos-protokollet för autentisering och säkerhet.Open-source Apache Hadoop relies on the Kerberos protocol for authentication and security. Därför är HDInsight-klusternoder med Enterprise Security Package (ESP) anslutna till en domän som hanteras av Azure AD DS.Therefore, HDInsight cluster nodes with Enterprise Security Package (ESP) are joined to a domain that's managed by Azure AD DS. Kerberos-säkerhet har kon figurer ATS för Hadoop-komponenterna i klustret.Kerberos security is configured for the Hadoop components on the cluster.

Följande saker skapas automatiskt:The following things are created automatically:

  • Ett tjänst huvud namn för varje Hadoop-komponentA service principal for each Hadoop component
  • En dators huvud namn för varje dator som är ansluten till domänenA machine principal for each machine that's joined to the domain
  • En organisationsenhet (OU) för varje kluster för att lagra dessa tjänster och dator huvud namnAn Organizational Unit (OU) for each cluster to store these service and machine principals

För att sammanfatta måste du konfigurera en miljö med:To summarize, you need to set up an environment with:

  • En Active Directory domän (hanteras av Azure AD DS).An Active Directory domain (managed by Azure AD DS). Domän namnet måste innehålla 39 tecken eller mindre för att fungera med Azure HDInsight.The domain name must be 39 characters or less to work with Azure HDInsight.
  • Säkert LDAP (LDAPs) som är aktiverade i Azure AD DS.Secure LDAP (LDAPS) enabled in Azure AD DS.
  • Korrekt nätverks anslutning från det virtuella HDInsight-nätverket till det virtuella Azure AD DS-nätverket, om du väljer separata virtuella nätverk för dem.Proper networking connectivity from the HDInsight virtual network to the Azure AD DS virtual network, if you choose separate virtual networks for them. En virtuell dator i det virtuella HDInsight-nätverket bör ha en rad syn för Azure AD DS via peering av virtuella nätverk.A VM inside the HDInsight virtual network should have a line of sight to Azure AD DS through virtual network peering. Om HDInsight och Azure AD DS distribueras i samma virtuella nätverk tillhandahålls anslutningen automatiskt och ingen ytterligare åtgärd krävs.If HDInsight and Azure AD DS are deployed in the same virtual network, the connectivity is automatically provided, and no further action is needed.

Konfigurera olika domänkontrollanterSet up different domain controllers

HDInsight har för närvarande endast stöd för Azure AD DS som den huvudsakliga domänkontrollanten som används i klustret för Kerberos-kommunikation.HDInsight currently supports only Azure AD DS as the main domain controller that the cluster uses for Kerberos communication. Men andra komplexa Active Directory-inställningar är möjliga, så länge en sådan konfiguration leder till aktivering av Azure AD DS för HDInsight-åtkomst.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

Azure AD DS tillhandahåller en hanterad domän som är helt kompatibel med Windows Server Active Directory.Azure AD DS provides a managed domain that's fully compatible with Windows Server Active Directory. Microsoft tar hand om att hantera, korrigera och övervaka domänen i en installation med hög tillgänglighet (HA).Microsoft takes care of managing, patching, and monitoring the domain in a highly available (HA) setup. Du kan distribuera klustret utan att oroa dig för att underhålla domänkontrollanter.You can deploy your cluster without worrying about maintaining domain controllers.

Användare, grupper och lösen ord synkroniseras från Azure AD.Users, groups, and passwords are synchronized from Azure AD. Den enkelriktade synkroniseringen från Azure AD-instansen till Azure AD DS gör det möjligt för användare att logga in i klustret med samma företags uppgifter.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.

Mer information finns i Konfigurera HDInsight-kluster med ESP med hjälp av Azure AD DS.For more information, see Configure HDInsight clusters with ESP using Azure AD DS.

Lokala Active Directory eller Active Directory på virtuella IaaS-datorerOn-premises Active Directory or Active Directory on IaaS VMs

Om du har en lokal Active Directory instans eller mer komplexa Active Directory-inställningar för din domän kan du synkronisera dessa identiteter med Azure AD med hjälp av 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. Du kan sedan aktivera Azure AD DS på den Active Directory klienten.You can then enable Azure AD DS on that Active Directory tenant.

Eftersom Kerberos förlitar sig på lösen ords-hashar måste du aktivera hash-synkronisering av lösen ord på Azure AD DS.Because Kerberos relies on password hashes, you must enable password hash sync on Azure AD DS.

Om du använder Federation med Active Directory Federation Services (AD FS) (AD FS) måste du aktivera hash-synkronisering av lösen ord. (För en rekommenderad installation, se den här videon.) Hash-synkronisering av lösen ord hjälper till med haveri beredskap, vilket innebär att din AD FS-infrastruktur Miss lyckas, och det ger även läckt skydd.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. Mer information finns i aktivera hash-synkronisering av lösen ord med Azure AD Connect Sync.For more information, see Enable password hash sync with Azure AD Connect sync.

Att använda lokala Active Directory eller Active Directory endast på virtuella IaaS-datorer, utan Azure AD och Azure AD DS, är inte en konfiguration som stöds för HDInsight-kluster med 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.

Om Federation används och lösen ordets hash-värden synkroniseras korrekt, men du får autentiseringsfel, kontrollerar du om Cloud Password Authentication har Aktiver ATS för PowerShell-tjänstens huvud namn.If federation is being used and password hashes are synced correctly, but you are getting authentication failures, check if cloud password authentication is enabled for the PowerShell service principal. Om inte, måste du ange en HRD-princip (Home sfär Discovery) för din Azure AD-klient.If not, you must set a Home Realm Discovery (HRD) policy for your Azure AD tenant. För att kontrol lera och ange HRD-principen:To check and set the HRD policy:

  1. Installera för hands versionen av Azure AD PowerShell-modulen.Install the preview Azure AD PowerShell module.

    Install-Module AzureAD
    
  2. Anslut med autentiseringsuppgifter för global administratör (innehavaradministratör).Connect using global administrator (tenant administrator) credentials.

    Connect-AzureAD
    
  3. Kontrol lera om Microsoft Azure PowerShell tjänstens huvud namn redan har skapats.Check if the Microsoft Azure PowerShell service principal has already been created.

    Get-AzureADServicePrincipal -SearchString "Microsoft Azure Powershell"
    
  4. Om den inte finns skapar du tjänstens huvud namn.If it doesn't exist, then create the service principal.

    $powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
    
  5. Skapa och koppla principen till tjänstens huvud namn.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
    

Nästa stegNext steps