Använda Enterprise Security Package i HDInsight

Azure HDInsight-standardklustret är ett kluster med en användare. Det är lämpligt för de flesta företag som har mindre programteam som skapar stora dataarbetsbelastningar. Varje användare kan skapa ett dedikerat kluster på begäran och förstöra det när det inte behövs längre.

Många företag har gått mot en modell där IT-team hanterar kluster och flera programteam delar kluster. Dessa större företag behöver åtkomst med flera användare till varje kluster i Azure HDInsight.

HDInsight förlitar sig på en populär identitetsprovider – Active Directory – på ett hanterat sätt. Genom att integrera HDInsight med Microsoft Entra Domain Services kan du komma åt klustren med dina autentiseringsuppgifter för domänen.

De virtuella datorerna i HDInsight är domänanslutna till din angivna domän. Därför fungerar alla tjänster som körs på HDInsight (Apache Ambari, Apache Hive-servern, Apache Ranger, Apache Spark thrift-servern och andra) sömlöst för den autentiserade användaren. Administratörer kan sedan skapa starka auktoriseringsprinciper med hjälp av Apache Ranger för att tillhandahålla rollbaserad åtkomstkontroll för resurser i klustret.

Integrera HDInsight med Active Directory

Apache Hadoop med öppen källkod förlitar sig på Kerberos-protokollet för autentisering och säkerhet. Därför är HDInsight-klusternoder med Enterprise Security Package (ESP) anslutna till en domän som hanteras av Microsoft Entra Domain Services. Kerberos-säkerhet har konfigurerats för Hadoop-komponenterna i klustret.

Följande saker skapas automatiskt:

  • Ett huvudnamn för tjänsten för varje Hadoop-komponent
  • Ett datorhuvudnamn för varje dator som är ansluten till domänen
  • En organisationsenhet (OU) för varje kluster för att lagra dessa tjänst- och datorhuvudnamn

För att sammanfatta måste du konfigurera en miljö med:

  • En Active Directory-domän (hanteras av Microsoft Entra Domain Services). Domännamnet måste vara högst 39 tecken för att fungera med Azure HDInsight.
  • Säker LDAP (LDAPS) aktiverad i Microsoft Entra Domain Services.
  • Rätt nätverksanslutning från det virtuella HDInsight-nätverket till det virtuella Microsoft Entra Domain Services-nätverket om du väljer separata virtuella nätverk för dem. En virtuell dator i det virtuella HDInsight-nätverket bör ha en siktlinje för Microsoft Entra Domain Services via peering för virtuella nätverk. Om HDInsight och Microsoft Entra Domain Services distribueras i samma virtuella nätverk tillhandahålls anslutningen automatiskt och ingen ytterligare åtgärd krävs.

Konfigurera olika domänkontrollanter

HDInsight stöder för närvarande endast Microsoft Entra Domain Services som huvuddomänkontrollant som klustret använder för Kerberos-kommunikation. Men andra komplexa Active Directory-installationer är möjliga, så länge en sådan konfiguration leder till att microsoft Entra Domain Services aktiveras för HDInsight-åtkomst.

Microsoft Entra Domain Services

Microsoft Entra Domain Services tillhandahåller en hanterad domän som är helt kompatibel med Windows Server Active Directory. Microsoft tar hand om att hantera, korrigera och övervaka domänen i en konfiguration med hög tillgänglighet (HA). Du kan distribuera klustret utan att behöva bekymra dig om att underhålla domänkontrollanter.

Användare, grupper och lösenord synkroniseras från Microsoft Entra-ID. Enkelriktad synkronisering från din Microsoft Entra-instans till Microsoft Entra Domain Services gör det möjligt för användare att logga in på klustret med samma företagsautentiseringsuppgifter.

Mer information finns i Konfigurera HDInsight-kluster med ESP med Hjälp av Microsoft Entra Domain Services.

Lokal Active Directory eller Active Directory på virtuella IaaS-datorer

Om du har en lokal Active Directory instans eller mer komplexa Active Directory-konfigurationer för din domän kan du synkronisera dessa identiteter med Microsoft Entra-ID med hjälp av Microsoft Entra Anslut. Du kan sedan aktivera Microsoft Entra Domain Services på den Active Directory-klientorganisationen.

Eftersom Kerberos förlitar sig på lösenordshashvärden måste du aktivera synkronisering av lösenordshash i Microsoft Entra Domain Services.

Om du använder federation med Active Directory Federation Services (AD FS) (AD FS) måste du aktivera synkronisering av lösenordshash. (En rekommenderad konfiguration finns i den här videon.) Synkronisering av lösenordshash hjälper till med haveriberedskap om AD FS-infrastrukturen misslyckas, och den hjälper även till att ge skydd mot läckta autentiseringsuppgifter. Mer information finns i Aktivera synkronisering av lösenordshash med Microsoft Entra Anslut Sync.

Att använda lokal Active Directory eller Active Directory enbart på virtuella IaaS-datorer, utan Microsoft Entra-ID och Microsoft Entra Domain Services, är inte en konfiguration som stöds för HDInsight-kluster med ESP.

Kommentar

Azure AD- och MSOnline PowerShell-moduler är inaktuella från och med den 30 mars 2024. Mer information finns i utfasningsuppdateringen. Efter det här datumet är stödet för dessa moduler begränsat till migreringshjälp till Microsoft Graph PowerShell SDK och säkerhetskorrigeringar. De inaktuella modulerna fortsätter att fungera till och med mars 30 2025.

Vi rekommenderar att du migrerar till Microsoft Graph PowerShell för att interagera med Microsoft Entra-ID (tidigare Azure AD). Vanliga migreringsfrågor finns i Vanliga frågor och svar om migrering. Obs! Versioner 1.0.x av MSOnline kan uppleva störningar efter den 30 juni 2024.

Om federation används och lösenordshashvärden synkroniseras korrekt, men du får autentiseringsfel, kontrollerar du om lösenordsautentisering i molnet är aktiverat för PowerShell-tjänstens huvudnamn. Annars måste du ange en HRD-princip (Home Realm Discovery) för din Microsoft Entra-klientorganisation. Så här kontrollerar och ställer du in HRD-principen:

  1. Installera förhandsversionen av Azure AD PowerShell-modulen.

    Install-Module AzureAD
    
  2. Anslut med autentiseringsuppgifter för global administratör (klientorganisationsadministratör).

    Connect-AzureAD
    
  3. Kontrollera om tjänstens huvudnamn för Microsoft Azure PowerShell redan har skapats.

    Get-AzureADServicePrincipal -SearchString "Microsoft Azure PowerShell"
    
  4. Om den inte finns skapar du tjänstens huvudnamn.

    $powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
    
  5. Skapa och koppla principen till tjänstens huvudnamn.

     # 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 steg