Enterprise Security Package in HDInsight gebruiken

Het standaardCluster van Azure HDInsight is een cluster met één gebruiker. Het is geschikt voor de meeste bedrijven die kleinere toepassingsteams hebben die grote gegevensworkloads bouwen. Elke gebruiker kan een toegewezen cluster op aanvraag maken en vernietigen wanneer het niet meer nodig is.

Veel ondernemingen zijn overgestapt op een model waarin IT-teams clusters beheren en meerdere toepassingsteams clusters delen. Deze grotere ondernemingen hebben multigebruikerstoegang nodig tot elk cluster in Azure HDInsight.

HDInsight is afhankelijk van een populaire id-provider--Active Directory-op een beheerde manier. Door HDInsight te integreren met Microsoft Entra Domain Services, hebt u toegang tot de clusters met behulp van uw domeinreferenties.

De virtuele machines (VM's) in HDInsight zijn gekoppeld aan uw opgegeven domein. Alle services die worden uitgevoerd op HDInsight (Apache Ambari, Apache Hive-server, Apache Ranger, Apache Spark-riftserver en andere) werken dus naadloos voor de geverifieerde gebruiker. Beheer istrators kunnen vervolgens sterk autorisatiebeleid maken met behulp van Apache Ranger om op rollen gebaseerd toegangsbeheer te bieden voor resources in het cluster.

HDInsight integreren met Active Directory

Opensource Apache Hadoop is afhankelijk van het Kerberos-protocol voor verificatie en beveiliging. Daarom worden HDInsight-clusterknooppunten met Enterprise Security Package (ESP) toegevoegd aan een domein dat wordt beheerd door Microsoft Entra Domain Services. Kerberos-beveiliging is geconfigureerd voor de Hadoop-onderdelen in het cluster.

De volgende dingen worden automatisch gemaakt:

  • Een service-principal voor elk Hadoop-onderdeel
  • Een machine-principal voor elke machine die is gekoppeld aan het domein
  • Een organisatie-eenheid (OE) voor elk cluster voor het opslaan van deze service- en machine-principals

Samenvattend moet u een omgeving instellen met:

  • Een Active Directory-domein (beheerd door Microsoft Entra Domain Services). De domeinnaam moet 39 tekens of minder zijn om met Azure HDInsight te werken.
  • Secure LDAP (LDAPS) ingeschakeld in Microsoft Entra Domain Services.
  • De juiste netwerkconnectiviteit van het virtuele HDInsight-netwerk met het virtuele Netwerk van Microsoft Entra Domain Services als u hiervoor afzonderlijke virtuele netwerken kiest. Een VIRTUELE machine in het virtuele HDInsight-netwerk moet een lijn van zicht hebben op Microsoft Entra Domain Services via peering van virtuele netwerken. Als HDInsight en Microsoft Entra Domain Services worden geïmplementeerd in hetzelfde virtuele netwerk, wordt de verbinding automatisch geboden en is er geen verdere actie nodig.

Verschillende domeincontrollers instellen

HDInsight ondersteunt momenteel alleen Microsoft Entra Domain Services als de hoofddomeincontroller die het cluster gebruikt voor Kerberos-communicatie. Maar andere complexe Active Directory-instellingen zijn mogelijk, zolang een dergelijke installatie leidt tot het inschakelen van Microsoft Entra Domain Services voor HDInsight-toegang.

Microsoft Entra Domain Services.

Microsoft Entra Domain Services biedt een beheerd domein dat volledig compatibel is met Windows Server Active Directory. Microsoft zorgt voor het beheren, patchen en bewaken van het domein in een maximaal beschikbare (HA)-installatie. U kunt uw cluster implementeren zonder dat u zich zorgen hoeft te maken over het onderhouden van domeincontrollers.

Gebruikers, groepen en wachtwoorden worden gesynchroniseerd vanuit Microsoft Entra-id. Met de eenrichtingssynchronisatie van uw Microsoft Entra-exemplaar naar Microsoft Entra Domain Services kunnen gebruikers zich aanmelden bij het cluster met dezelfde bedrijfsreferenties.

Zie HDInsight-clusters configureren met ESP met behulp van Microsoft Entra Domain Services voor meer informatie.

On-premises Active Directory of Active Directory op IaaS-VM's

Als u een on-premises Active Directory-exemplaar of complexere Active Directory-instellingen voor uw domein hebt, kunt u deze identiteiten synchroniseren met Microsoft Entra-id met behulp van Microsoft Entra Verbinding maken. Vervolgens kunt u Microsoft Entra Domain Services inschakelen op die Active Directory-tenant.

Omdat Kerberos afhankelijk is van wachtwoordhashes, moet u wachtwoord-hashsynchronisatie inschakelen voor Microsoft Entra Domain Services.

Als u federatie gebruikt met Active Directory Federation Services (AD FS), moet u wachtwoord-hashsynchronisatie inschakelen. (Zie deze video voor een aanbevolen installatie.) Wachtwoord-hashsynchronisatie helpt bij herstel na noodgevallen in het geval uw AD FS-infrastructuur mislukt en het helpt ook om gelekte referentiebeveiliging te bieden. Zie Wachtwoord-hashsynchronisatie inschakelen met Microsoft Entra Verbinding maken Sync voor meer informatie.

Het gebruik van on-premises Active Directory of Active Directory op IaaS-VM's, zonder Microsoft Entra ID en Microsoft Entra Domain Services, is geen ondersteunde configuratie voor HDInsight-clusters met ESP.

Notitie

Azure AD- en MSOnline PowerShell-modules zijn vanaf 30 maart 2024 afgeschaft. Lees de afschaffingsupdate voor meer informatie. Na deze datum is ondersteuning voor deze modules beperkt tot migratieondersteuning voor Microsoft Graph PowerShell SDK en beveiligingsoplossingen. De afgeschafte modules blijven functioneren tot en met 30 maart 2025.

Het is raadzaam om te migreren naar Microsoft Graph PowerShell om te communiceren met Microsoft Entra ID (voorheen Azure AD). Raadpleeg de veelgestelde vragen over migratie voor veelgestelde vragen over migratie. Opmerking: versies 1.0.x van MSOnline kunnen na 30 juni 2024 onderbrekingen ondervinden.

Als federatie wordt gebruikt en wachtwoordhashes correct worden gesynchroniseerd, maar er verificatiefouten optreden, controleert u of cloudwachtwoordverificatie is ingeschakeld voor de PowerShell-service-principal. Zo niet, dan moet u een HRD-beleid (Home Realm Discovery) instellen voor uw Microsoft Entra-tenant. Het HRD-beleid controleren en instellen:

  1. Installeer de preview-module van Azure AD PowerShell.

    Install-Module AzureAD
    
  2. Verbinding maken referenties van globale beheerder (tenantbeheerder).

    Connect-AzureAD
    
  3. Controleer of de Microsoft Azure PowerShell-service-principal al is gemaakt.

    Get-AzureADServicePrincipal -SearchString "Microsoft Azure PowerShell"
    
  4. Als deze niet bestaat, maakt u de service-principal.

    $powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
    
  5. Maak en koppel het beleid aan deze 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
    

Volgende stappen