Używanie pakiet Enterprise Security w usłudze HDInsightUse Enterprise Security Package in HDInsight

Standardowy klaster usługi Azure HDInsight to klaster z pojedynczym użytkownikiem.The standard Azure HDInsight cluster is a single-user cluster. Jest to odpowiednie dla większości firm, które mają mniejsze zespoły aplikacji tworzące duże obciążenia danych.It's suitable for most companies that have smaller application teams building large data workloads. Każdy użytkownik może utworzyć dedykowany klaster na żądanie i zniszczyć go, gdy nie jest już potrzebne.Each user can create a dedicated cluster on demand and destroy it when it's not needed anymore.

Wiele przedsiębiorstw zostało przeniesionych na model, w którym zespoły IT zarządzają klastrami, a wiele zespołów aplikacji współużytkuje klastry.Many enterprises have moved toward a model in which IT teams manage clusters, and multiple application teams share clusters. Te duże przedsiębiorstwa potrzebują dostępu wielodostępnego do każdego klastra w usłudze Azure HDInsight.These larger enterprises need multiuser access to each cluster in Azure HDInsight.

Usługa HDInsight korzysta ze popularnego dostawcy tożsamości — Active Directory — w sposób zarządzany.HDInsight relies on a popular identity provider--Active Directory--in a managed way. Dzięki integracji usługi HDInsight z usługą Azure Active Directory Domain Services (Azure AD DS)można uzyskać dostęp do klastrów przy użyciu poświadczeń domeny.By integrating HDInsight with Azure Active Directory Domain Services (Azure AD DS), you can access the clusters by using your domain credentials.

Maszyny wirtualne w usłudze HDInsight są przyłączone do domeny w podanej domenie.The virtual machines (VMs) in HDInsight are domain joined to your provided domain. Dzięki temu wszystkie usługi działające w usłudze HDInsight (Apache Ambari, Apache Hive Server, Apache Ranger, Apache Spark Thrift Server i inne) bezproblemowo działają dla uwierzytelnionego użytkownika.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. Administratorzy mogą następnie utworzyć silne zasady autoryzacji za pomocą platformy Apache Ranger w celu zapewnienia kontroli dostępu opartej na rolach dla zasobów w klastrze.Administrators can then create strong authorization policies by using Apache Ranger to provide role-based access control for resources in the cluster.

Integracja usługi HDInsight z usługą Active DirectoryIntegrate HDInsight with Active Directory

Apache Hadoop Open Source opiera się na protokole Kerberos na potrzeby uwierzytelniania i zabezpieczeń.Open-source Apache Hadoop relies on the Kerberos protocol for authentication and security. W związku z tym węzły klastra HDInsight z pakiet Enterprise Security (ESP) są przyłączone do domeny, która jest zarządzana przez usługę Azure AD DS.Therefore, HDInsight cluster nodes with Enterprise Security Package (ESP) are joined to a domain that's managed by Azure AD DS. Zabezpieczenia protokołu Kerberos są skonfigurowane dla składników usługi Hadoop w klastrze.Kerberos security is configured for the Hadoop components on the cluster.

Następujące elementy są tworzone automatycznie:The following things are created automatically:

  • Jednostka usługi dla każdego składnika HadoopA service principal for each Hadoop component
  • Podmiot zabezpieczeń maszyny dla każdej maszyny, która jest dołączona do domenyA machine principal for each machine that's joined to the domain
  • Jednostka organizacyjna (OU) dla każdego klastra do przechowywania tych usług i podmiotów nazw maszynAn Organizational Unit (OU) for each cluster to store these service and machine principals

Aby podsumować, należy skonfigurować środowisko przy użyciu programu:To summarize, you need to set up an environment with:

  • Domena Active Directory (zarządzana przez usługę Azure AD DS).An Active Directory domain (managed by Azure AD DS). Nazwa domeny nie może być krótsza niż 39 znaków, aby można było korzystać z usługi Azure HDInsight.The domain name must be 39 characters or less to work with Azure HDInsight.
  • Secure LDAP (LDAPs) włączone w usłudze Azure AD DS.Secure LDAP (LDAPS) enabled in Azure AD DS.
  • Odpowiednie połączenia sieciowe z sieci wirtualnej HDInsight z siecią wirtualną platformy Azure AD DS w przypadku wybrania dla nich oddzielnych sieci wirtualnych.Proper networking connectivity from the HDInsight virtual network to the Azure AD DS virtual network, if you choose separate virtual networks for them. Maszyna wirtualna w sieci wirtualnej usługi HDInsight powinna mieć wiersz wglądu w usługę Azure AD DS za pomocą komunikacji równorzędnej sieci wirtualnej.A VM inside the HDInsight virtual network should have a line of sight to Azure AD DS through virtual network peering. Jeśli usługi HDInsight i Azure AD DS są wdrożone w tej samej sieci wirtualnej, nastąpi automatyczne połączenie i nie jest wymagana żadna dodatkowa akcja.If HDInsight and Azure AD DS are deployed in the same virtual network, the connectivity is automatically provided, and no further action is needed.

Konfigurowanie różnych kontrolerów domenySet up different domain controllers

Usługa HDInsight obecnie obsługuje tylko AD DS platformy Azure jako główny kontroler domeny, który jest wykorzystywany przez klaster do komunikacji z protokołem Kerberos.HDInsight currently supports only Azure AD DS as the main domain controller that the cluster uses for Kerberos communication. Jednak inne skomplikowane konfiguracje Active Directory są możliwe, tak długo, jak taka konfiguracja prowadzi do włączenia usługi Azure AD DS dla dostępu 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

Usługa Azure AD DS zapewnia domenę zarządzaną, która jest w pełni zgodna z systemem Windows Server Active Directory.Azure AD DS provides a managed domain that's fully compatible with Windows Server Active Directory. Firma Microsoft dba o zarządzanie, stosowanie poprawek i monitorowanie domeny w konfiguracji o wysokiej dostępności (HA).Microsoft takes care of managing, patching, and monitoring the domain in a highly available (HA) setup. Klaster można wdrożyć bez obaw o utrzymywanie kontrolerów domeny.You can deploy your cluster without worrying about maintaining domain controllers.

Użytkownicy, grupy i hasła są synchronizowane z usługą Azure AD.Users, groups, and passwords are synchronized from Azure AD. Jednokierunkowa synchronizacja z wystąpienia usługi Azure AD do usługi Azure AD DS umożliwia użytkownikom logowanie się do klastra przy użyciu tych samych poświadczeń firmowych.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.

Aby uzyskać więcej informacji, zobacz Konfigurowanie klastrów usługi HDInsight za pomocą protokołu ESP przy użyciu AD DS platformy Azure.For more information, see Configure HDInsight clusters with ESP using Azure AD DS.

Lokalne Active Directory lub Active Directory na maszynach wirtualnych IaaSOn-premises Active Directory or Active Directory on IaaS VMs

Jeśli masz lokalne wystąpienie Active Directory lub bardziej skomplikowane Active Directory konfiguracje dla domeny, możesz synchronizować te tożsamości z usługą Azure AD przy użyciu 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. Następnie można włączyć usługę Azure AD DS w tym Active Directory dzierżawie.You can then enable Azure AD DS on that Active Directory tenant.

Ponieważ protokół Kerberos opiera się na skrótach haseł, należy włączyć synchronizację skrótów haseł na platformie Azure AD DS.Because Kerberos relies on password hashes, you must enable password hash sync on Azure AD DS.

Jeśli używasz Federacji z Active Directory Federation Services (AD FS), musisz włączyć synchronizację skrótów haseł. (Aby uzyskać zalecaną konfigurację, zobacz ten film wideo). Synchronizacja skrótów haseł ułatwia odzyskiwanie po awarii w przypadku niepowodzenia infrastruktury AD FS, a także pomaga w zapewnianiu nieujawnionej ochrony poświadczeń.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. Aby uzyskać więcej informacji, zobacz Włączanie synchronizacji skrótów haseł przy użyciu synchronizacji Azure AD Connect.For more information, see Enable password hash sync with Azure AD Connect sync.

Korzystanie z lokalnych Active Directory lub Active Directory na maszynach wirtualnych IaaS bez usług Azure AD i Azure AD DS nie jest obsługiwaną konfiguracją klastrów usługi HDInsight z użyciem protokołu 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.

Jeśli jest używana Federacja, a skróty haseł są synchronizowane prawidłowo, ale nie są dostępne błędy uwierzytelniania, sprawdź, czy dla jednostki usługi programu PowerShell jest włączone uwierzytelnianie hasła w chmurze.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. Jeśli nie, musisz ustawić zasady odnajdowania obszaru macierzystego (HRD) dla dzierżawy usługi Azure AD.If not, you must set a Home Realm Discovery (HRD) policy for your Azure AD tenant. Aby sprawdzić i ustawić zasady HRD:To check and set the HRD policy:

  1. Zainstaluj moduł programu Azure AD PowerShellw wersji zapoznawczej.Install the preview Azure AD PowerShell module.

    Install-Module AzureAD
    
  2. Nawiązywanie połączenia przy użyciu poświadczeń administratora globalnego (Administrator dzierżawy).Connect using global administrator (tenant administrator) credentials.

    Connect-AzureAD
    
  3. Sprawdź, czy Microsoft Azure PowerShell główna usługa została już utworzona.Check if the Microsoft Azure PowerShell service principal has already been created.

    Get-AzureADServicePrincipal -SearchString "Microsoft Azure Powershell"
    
  4. Jeśli nie istnieje, Utwórz nazwę główną usługi.If it doesn't exist, then create the service principal.

    $powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
    
  5. Utwórz zasady i Dołącz je do tej jednostki usługi.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
    

Następne krokiNext steps