Použití Balíčku zabezpečení podniku ve službě HDInsightUse Enterprise Security Package in HDInsight

Standardní cluster Azure HDInsight je cluster s jedním uživatelem.The standard Azure HDInsight cluster is a single-user cluster. Je vhodný pro většinu společností, které mají menší aplikační týmy vytvářející velké datové úlohy.It's suitable for most companies that have smaller application teams building large data workloads. Každý uživatel může vytvořit vyhrazený cluster na vyžádání a zničit ho, když už ho nepotřebujete.Each user can create a dedicated cluster on demand and destroy it when it's not needed anymore.

Řada podniků se přesunula k modelu, ve kterém IT týmy spravují clustery, a několik týmů aplikací sdílí clustery.Many enterprises have moved toward a model in which IT teams manage clusters, and multiple application teams share clusters. Tyto větší podniky potřebují pro každý cluster ve službě Azure HDInsight přístup s více uživateli.These larger enterprises need multiuser access to each cluster in Azure HDInsight.

HDInsight spoléhá na oblíbeného poskytovatele identity – Active Directory – spravovaný způsob.HDInsight relies on a popular identity provider--Active Directory--in a managed way. Integrací služby HDInsight s Azure Active Directory Domain Services (Azure služba AD DS)můžete ke clusterům přistupovat pomocí svých přihlašovacích údajů do domény.By integrating HDInsight with Azure Active Directory Domain Services (Azure AD DS), you can access the clusters by using your domain credentials.

Virtuální počítače v HDInsight jsou připojené k doméně zadané doméně.The virtual machines (VMs) in HDInsight are domain joined to your provided domain. Všechny služby spuštěné v HDInsight (Apache Ambari, Apache Hive Server, Apache Ranger, Apache Spark Thrift Server a další) pro ověřeného uživatele bezproblémově fungují.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. Správci pak můžou vytvořit silné zásady autorizace pomocí Apache Ranger a poskytovat řízení přístupu na základě rolí pro prostředky v clusteru.Administrators can then create strong authorization policies by using Apache Ranger to provide role-based access control for resources in the cluster.

Integrace služby HDInsight s Active DirectoryIntegrate HDInsight with Active Directory

Open Source Apache Hadoop spoléhá na protokol Kerberos pro ověřování a zabezpečení.Open-source Apache Hadoop relies on the Kerberos protocol for authentication and security. Uzly clusteru HDInsight s Balíček zabezpečení podniku (ESP) jsou proto připojené k doméně spravované pomocí Azure služba AD DS.Therefore, HDInsight cluster nodes with Enterprise Security Package (ESP) are joined to a domain that's managed by Azure AD DS. Zabezpečení protokolu Kerberos je nakonfigurované pro součásti systému Hadoop v clusteru.Kerberos security is configured for the Hadoop components on the cluster.

Automaticky se vytvoří tyto věci:The following things are created automatically:

  • Instanční objekt pro každou komponentu HadoopA service principal for each Hadoop component
  • Objekt zabezpečení počítače pro každý počítač, který je připojený k doméněA machine principal for each machine that's joined to the domain
  • Organizační jednotka (OU) pro každý cluster, do které se mají ukládat tyto služby a objekty zabezpečení počítačeAn Organizational Unit (OU) for each cluster to store these service and machine principals

Pro Shrnutí musíte nastavit prostředí pomocí:To summarize, you need to set up an environment with:

  • Doména služby Active Directory (spravovaná pomocí Azure služba AD DS).An Active Directory domain (managed by Azure AD DS). Aby bylo možné pracovat se službou Azure HDInsight, název domény musí mít 39 znaků nebo méně.The domain name must be 39 characters or less to work with Azure HDInsight.
  • Protokol Secure LDAP (LDAPs) povoleno ve službě Azure služba AD DS.Secure LDAP (LDAPS) enabled in Azure AD DS.
  • Správné síťové připojení z virtuální sítě HDInsight do služby Azure služba AD DS Virtual Network, pokud pro ně zvolíte samostatné virtuální sítě.Proper networking connectivity from the HDInsight virtual network to the Azure AD DS virtual network, if you choose separate virtual networks for them. Virtuální počítač uvnitř virtuální sítě HDInsight by měl mít přehled o službě Azure služba AD DS prostřednictvím partnerského vztahu virtuálních sítí.A VM inside the HDInsight virtual network should have a line of sight to Azure AD DS through virtual network peering. Pokud jsou služby HDInsight a Azure služba AD DS nasazeny ve stejné virtuální síti, je připojení automaticky zajištěno a není nutné provádět žádné další akce.If HDInsight and Azure AD DS are deployed in the same virtual network, the connectivity is automatically provided, and no further action is needed.

Nastavení různých řadičů doménySet up different domain controllers

HDInsight aktuálně podporuje jenom Azure služba AD DS jako hlavní řadič domény, který cluster používá pro komunikaci pomocí protokolu Kerberos.HDInsight currently supports only Azure AD DS as the main domain controller that the cluster uses for Kerberos communication. Ale další komplexní nastavení služby Active Directory je možné, pokud nastavení vede k povolení služby Azure služba AD DS pro přístup k 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

Azure služba AD DS poskytuje spravovanou doménu, která je plně kompatibilní se službou Windows Server Active Directory.Azure AD DS provides a managed domain that's fully compatible with Windows Server Active Directory. Microsoft se postará o správu, opravy a monitorování domény v nastavení vysoké dostupnosti (HA).Microsoft takes care of managing, patching, and monitoring the domain in a highly available (HA) setup. Cluster můžete nasadit, aniž byste se museli starat o údržbu řadičů domény.You can deploy your cluster without worrying about maintaining domain controllers.

Uživatelé, skupiny a hesla se synchronizují ze služby Azure AD.Users, groups, and passwords are synchronized from Azure AD. Jednosměrná synchronizace z vaší instance Azure AD do Azure služba AD DS umožňuje uživatelům přihlásit se ke clusteru pomocí stejných podnikových přihlašovacích údajů.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.

Další informace najdete v tématu konfigurace clusterů HDInsight s protokolem ESP pomocí Azure služba AD DS.For more information, see Configure HDInsight clusters with ESP using Azure AD DS.

Místní služba Active Directory nebo Active Directory na virtuálních počítačích s IaaSOn-premises Active Directory or Active Directory on IaaS VMs

Pokud máte místní instanci služby Active Directory nebo složitější nastavení služby Active Directory pro vaši doménu, můžete tyto identity synchronizovat do Azure AD pomocí 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. Pak můžete povolit Azure služba AD DS v tomto tenantovi Active Directory.You can then enable Azure AD DS on that Active Directory tenant.

Vzhledem k tomu, že protokol Kerberos spoléhá na hodnoty hash hesla, musíte Povolit synchronizaci hodnot hash hesel v Azure služba AD DS.Because Kerberos relies on password hashes, you must enable password hash sync on Azure AD DS.

Pokud používáte federaci s Active Directory Federation Services (AD FS) (AD FS), musíte povolit synchronizaci hodnot hash hesel. (Pro doporučené nastavení se podívejte na Toto video.) Synchronizace hodnot hash hesel pomáhá při zotavení po havárii v případě selhání infrastruktury AD FS a také pomáhá zajistit ochranu proti nevráceným přihlašovacím údajům.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. Další informace najdete v tématu povolení synchronizace hodnot hash hesel pomocí Azure AD Connect synchronizace.For more information, see Enable password hash sync with Azure AD Connect sync.

Použití místní služby Active Directory nebo Active Directory na virtuálních počítačích s IaaS bez použití Azure AD a Azure služba AD DS není podporovanou konfigurací pro clustery HDInsight s protokolem 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.

Pokud se používá federační služba a hodnoty hash hesel se synchronizují správně, ale dojde k chybám ověřování, ověřte, jestli je pro instanční objekt PowerShellu povolené ověřování heslem cloudu.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. Pokud ne, musíte nastavit zásadu zjišťování domovské sféry (HRD) pro vašeho TENANTA Azure AD.If not, you must set a Home Realm Discovery (HRD) policy for your Azure AD tenant. Postup kontroly a nastavení zásad HRD:To check and set the HRD policy:

  1. Nainstalujte si náhled modulu Azure AD PowerShell.Install the preview Azure AD PowerShell module.

    Install-Module AzureAD
    
  2. Připojte se pomocí přihlašovacích údajů globálního správce (Správce klienta).Connect using global administrator (tenant administrator) credentials.

    Connect-AzureAD
    
  3. Ověřte, zda již byl vytvořen Microsoft Azure PowerShell instanční objekt.Check if the Microsoft Azure PowerShell service principal has already been created.

    Get-AzureADServicePrincipal -SearchString "Microsoft Azure Powershell"
    
  4. Pokud neexistuje, vytvořte instanční objekt.If it doesn't exist, then create the service principal.

    $powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
    
  5. Vytvořte a připojte zásadu k tomuto instančnímu objektu.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
    

Další krokyNext steps