HDInsight'ta Kurumsal Güvenlik Paketini KullanmaUse Enterprise Security Package in HDInsight

Standart Azure HDInsight kümesi tek kullanıcılı bir kümedir.The standard Azure HDInsight cluster is a single-user cluster. Büyük veri iş yükleri oluşturan daha küçük uygulama ekiplerine sahip çoğu şirket için uygundur.It's suitable for most companies that have smaller application teams building large data workloads. Her Kullanıcı isteğe bağlı bir küme oluşturabilir ve artık gerekli olmadığında yok edebilir.Each user can create a dedicated cluster on demand and destroy it when it's not needed anymore.

Birçok kuruluş, BT ekiplerinin kümeleri yönetmesi ve birden çok uygulama ekibinin kümeleri paylaştığı bir modele doğru taşınmıştır.Many enterprises have moved toward a model in which IT teams manage clusters, and multiple application teams share clusters. Bu büyük kuruluşların Azure HDInsight 'taki her kümeye çok kullanıcılı erişim gereksinimi vardır.These larger enterprises need multiuser access to each cluster in Azure HDInsight.

HDInsight, yönetilen bir şekilde, popüler bir kimlik sağlayıcısını (Active Directory) kullanır.HDInsight relies on a popular identity provider--Active Directory--in a managed way. HDInsight 'ı Azure Active Directory Domain Services (Azure AD DS)ile tümleştirerek, etki alanı kimlik bilgilerinizi kullanarak kümelere erişebilirsiniz.By integrating HDInsight with Azure Active Directory Domain Services (Azure AD DS), you can access the clusters by using your domain credentials.

HDInsight 'taki sanal makineler (VM 'Ler), sizin belirttiğiniz etki alanına katılmış etki alanıdır.The virtual machines (VMs) in HDInsight are domain joined to your provided domain. Bu nedenle, HDInsight üzerinde çalışan tüm hizmetler (Apache ambarı, Apache Hive sunucusu, Apache Ranger, Apache Spark Thrift Server ve diğerleri) kimliği doğrulanmış kullanıcı için sorunsuz bir şekilde çalışır.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. Yöneticiler daha sonra, kümedeki kaynaklar için rol tabanlı erişim denetimi sağlamak üzere Apache Ranger kullanarak güçlü yetkilendirme ilkeleri oluşturabilir.Administrators can then create strong authorization policies by using Apache Ranger to provide role-based access control for resources in the cluster.

HDInsight’ı Active Directory ile tümleştirinIntegrate HDInsight with Active Directory

Açık kaynaklı Apache Hadoop, kimlik doğrulama ve güvenlik için Kerberos protokolüne bağımlıdır.Open-source Apache Hadoop relies on the Kerberos protocol for authentication and security. Bu nedenle, Kurumsal Güvenlik Paketi (ESP) ile HDInsight kümesi düğümleri Azure AD DS tarafından yönetilen bir etki alanına katılır.Therefore, HDInsight cluster nodes with Enterprise Security Package (ESP) are joined to a domain that's managed by Azure AD DS. Kerberos güvenliği, kümedeki Hadoop bileşenleri için yapılandırılır.Kerberos security is configured for the Hadoop components on the cluster.

Aşağıdaki öğeler otomatik olarak oluşturulur:The following things are created automatically:

  • Her Hadoop bileşeni için bir hizmet sorumlusuA service principal for each Hadoop component
  • Etki alanına katılmış her makine için bir makine sorumlusuA machine principal for each machine that's joined to the domain
  • Bu hizmet ve makine sorumlularını depolamak için her küme için bir kuruluş birimi (OU)An Organizational Unit (OU) for each cluster to store these service and machine principals

Özetlemek gerekirse, şunları içeren bir ortam ayarlamanız gerekir:To summarize, you need to set up an environment with:

  • Active Directory etki alanı (Azure AD DS tarafından yönetilen).An Active Directory domain (managed by Azure AD DS). Azure HDInsight ile çalışmak için etki alanı adının 39 karakter veya daha az olması gerekir.The domain name must be 39 characters or less to work with Azure HDInsight.
  • Azure AD DS 'de Güvenli LDAP (LDAPS) etkin.Secure LDAP (LDAPS) enabled in Azure AD DS.
  • Bunlar için ayrı sanal ağlar seçerseniz, HDInsight sanal ağından Azure AD DS sanal ağı 'na doğru ağ bağlantısı.Proper networking connectivity from the HDInsight virtual network to the Azure AD DS virtual network, if you choose separate virtual networks for them. HDInsight sanal ağının içindeki bir VM 'nin, sanal ağ eşlemesi aracılığıyla Azure AD DS bir görüş satırı olması gerekir.A VM inside the HDInsight virtual network should have a line of sight to Azure AD DS through virtual network peering. HDInsight ve Azure AD DS aynı sanal ağa dağıtılırsa, bağlantı otomatik olarak sağlanır ve başka bir eylem gerekmez.If HDInsight and Azure AD DS are deployed in the same virtual network, the connectivity is automatically provided, and no further action is needed.

Farklı etki alanı denetleyicileri ayarlamaSet up different domain controllers

HDInsight Şu anda, kümenin Kerberos iletişimi için kullandığı ana etki alanı denetleyicisi olarak yalnızca Azure AD DS desteklemektedir.HDInsight currently supports only Azure AD DS as the main domain controller that the cluster uses for Kerberos communication. Ancak, bu tür bir kurulum HDInsight için Azure AD DS etkinleştirmeye neden olduğu sürece diğer karmaşık Active Directory kurulumları mümkündür.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 , Windows Server Active Directory ile tamamen uyumlu bir yönetilen etki alanı sağlar.Azure AD DS provides a managed domain that's fully compatible with Windows Server Active Directory. Microsoft, yüksek oranda kullanılabilir (HA) bir kurulumda etki alanını yönetme, düzeltme eki uygulama ve izlemeye önem kazanır.Microsoft takes care of managing, patching, and monitoring the domain in a highly available (HA) setup. Etki alanı denetleyicilerini koruma konusunda endişelenmeden kümenizi dağıtabilirsiniz.You can deploy your cluster without worrying about maintaining domain controllers.

Kullanıcılar, gruplar ve parolalar Azure AD 'den eşitlenir.Users, groups, and passwords are synchronized from Azure AD. Azure AD örneğinden Azure AD DS tek yönlü eşitlemesi, kullanıcıların aynı kurumsal kimlik bilgilerini kullanarak kümede oturum açmasını sağlar.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.

Daha fazla bilgi için bkz. Azure AD DS kullanarak HDInsight KÜMELERINI ESP Ile yapılandırma.For more information, see Configure HDInsight clusters with ESP using Azure AD DS.

IaaS VM 'lerinde şirket içi Active Directory veya Active DirectoryOn-premises Active Directory or Active Directory on IaaS VMs

Etki alanınız için bir şirket içi Active Directory örneğiniz veya daha karmaşık Active Directory kurulumlarınız varsa, Azure AD Connect kullanarak bu kimlikleri Azure AD 'ye eşitleyebilirsiniz.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. Daha sonra, bu Active Directory kiracısında Azure AD DS 'yi etkinleştirebilirsiniz.You can then enable Azure AD DS on that Active Directory tenant.

Kerberos, parola karmalarını kullandığından, Azure AD DS Parola karması eşitlemesini etkinleştirmenizgerekir.Because Kerberos relies on password hashes, you must enable password hash sync on Azure AD DS.

Active Directory Federasyon Hizmetleri (AD FS) (AD FS) ile Federasyon kullanıyorsanız, parola karma eşitlemesini etkinleştirmeniz gerekir. (Önerilen bir kurulum için Bu videoyabakın.) Parola karması eşitleme, AD FS altyapınızın başarısız olması durumunda olağanüstü durum kurtarma ile yardımcı olur ve ayrıca sızdırılan kimlik bilgisi koruma sağlamaya yardımcı olur.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. Daha fazla bilgi için bkz. Azure AD Connect Sync ile parola karma eşitlemesini etkinleştirme.For more information, see Enable password hash sync with Azure AD Connect sync.

Azure AD ve Azure AD DS olmadan yalnızca IaaS VM 'lerinde şirket içi Active Directory veya Active Directory kullanmak, HDInsight kümeleri için ESP ile desteklenen bir yapılandırma değildir.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.

Federasyon kullanılıyorsa ve parola karmaları doğru şekilde eşitlendiğinde, ancak kimlik doğrulama hatalarıyla karşılaşırsanız, PowerShell hizmet sorumlusu için bulut parolası kimlik doğrulamasının etkinleştirilip etkinleştirilmediğini denetleyin.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. Aksi takdirde, Azure AD kiracınız için bir giriş bölgesi bulma (HRD) ilkesi ayarlamanız gerekir.If not, you must set a Home Realm Discovery (HRD) policy for your Azure AD tenant. HRD ilkesini denetlemek ve ayarlamak için:To check and set the HRD policy:

  1. Önizleme Azure AD PowerShell modülünüyükler.Install the preview Azure AD PowerShell module.

    Install-Module AzureAD
    
  2. Genel yönetici (kiracı yöneticisi) kimlik bilgilerini kullanarak bağlanın.Connect using global administrator (tenant administrator) credentials.

    Connect-AzureAD
    
  3. Microsoft Azure PowerShell hizmet sorumlusunun zaten oluşturulup oluşturulmadıysa emin olun.Check if the Microsoft Azure PowerShell service principal has already been created.

    Get-AzureADServicePrincipal -SearchString "Microsoft Azure Powershell"
    
  4. Yoksa, hizmet sorumlusu oluşturun.If it doesn't exist, then create the service principal.

    $powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
    
  5. İlkeyi oluşturun ve bu hizmet sorumlusu 'na ekleyin.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
    

Sonraki adımlarNext steps