Verwendung des Enterprise-Sicherheitspakets in HDInsight

Der standardmäßige Azure HDInsight-Cluster ist ein Einzelbenutzercluster. Dieser ist für die meisten Unternehmen geeignet, in denen kleinere Anwendungsteams große Datenworkloads erstellen. Jeder Benutzer kann bei Bedarf einen eigenen Cluster erstellen und ihn löschen, wenn er nicht mehr benötigt wird.

Viele Unternehmen führten die Umstellung auf ein Modell durch, bei dem IT-Teams Cluster verwalten und mehrere Anwendungsteams Cluster gemeinsam nutzen. Diese größeren Unternehmen benötigen Zugriff auf den Cluster durch mehrere Benutzer in Azure HDInsight.

HDInsight basiert auf einem häufig verwendeten Identitätsanbieter – Active Directory – in einer verwalteten Methode. Durch die Integration von HDInsight in Microsoft Entra Domain Services können Sie mithilfe Ihrer Domänenanmeldeinformationen auf die Cluster zugreifen.

Die virtuellen Computer (VMs) in HDInsight werden in Ihre bereitgestellte Domäne eingebunden. Alle Dienste, die unter HDInsight ausgeführt werden (Apache Ambari, Apache Hive-Server, Apache Ranger, Apache Spark Thrift-Server usw.), funktionieren daher für den authentifizierten Benutzer nahtlos. Administratoren können dann mithilfe von Apache Ranger starke Autorisierungsrichtlinien erstellen, um eine rollenbasierte Zugriffssteuerung für Ressourcen im Cluster zu ermöglichen.

Integrieren von HDInsight in Active Directory

Open-Source-Apache Hadoop basiert auf dem Kerberos-Protokoll für die Bereitstellung von Authentifizierung und Sicherheit. Daher sind HDInsight-Clusterknoten mit dem Enterprise-Sicherheitspaket (ESP) in eine mit den Microsoft Entra Domain Services verwaltete Domäne eingebunden. Die Kerberos-Sicherheit ist für die Hadoop-Komponenten auf dem Cluster konfiguriert.

Folgendes wird automatisch erstellt:

  • Ein Dienstprinzipal für jede Hadoop-Komponente
  • Ein Computerprinzipal für jeden Computer, der in die Domäne eingebunden ist
  • Eine Organisationseinheit für jeden Cluster zum Speichern dieser Dienst- und Computerprinzipale

Zusammengefasst benötigen Sie zum Einrichten einer Umgebung Folgendes:

  • Eine Active Directory-Domäne (verwaltet von Microsoft Entra Domain Services). Der Domänenname darf maximal 39 Zeichen lang sein, um mit Azure HDInsight zu funktionieren.
  • Aktivieren von Secure LDAP (LDAPS) für Microsoft Entra Domain Services.
  • Ordnungsgemäße Konnektivität vom virtuellen HDInsight-Netzwerk zum virtuellen Microsoft Entra Domain Services-Netzwerk, wenn Sie separate virtuelle Netzwerke für sie wählen. Eine VM innerhalb des virtuellen HDInsight-Netzwerks sollte durch das Peering virtueller Netzwerke uneingeschränkten Zugriff auf Microsoft Entra Domain Services haben. Wenn HDInsight und Microsoft Entra Domain Services im gleichen virtuellen Netzwerk bereitgestellt werden, wird die Konnektivität automatisch bereitgestellt, und es ist keine weitere Aktion erforderlich.

Einrichten anderer Domänencontroller

HDInsight unterstützt derzeit nur Microsoft Entra Domain Services als Hauptdomänencontroller, den der Cluster für die Kerberos-Kommunikation verwendet. Aber auch andere komplexe Active Directory-Setups sind möglich, sofern ein solches Setup dazu führt, dass Microsoft Entra Domain Services für den HDInsight-Zugriff freigegeben wird.

Microsoft Entra Domain Services

Microsoft Entra Domain Services stellt eine verwaltete Domäne bereit, die vollständig mit Windows Server Active Directory kompatibel ist. Microsoft übernimmt in einem Hochverfügbarkeitssetup (Highly Available, HA) die Verwaltung, das Patchen und das Überwachen der Domäne. Sie können Ihren Cluster bereitstellen, ohne sich Sorgen um die Verwaltung von Domänencontrollern zu machen.

Benutzer, Gruppen und Kennwörter werden aus Microsoft Entra ID synchronisiert. Die unidirektionale Synchronisierung aus Ihrem Microsoft Entra-Instanz zu Microsoft Entra Domain Services gibt Benutzern die Möglichkeit, sich mit den gleichen Anmeldeinformationen des Unternehmens beim Cluster anzumelden.

Weitere Informationen finden Sie unter Konfigurieren eines HDInsight-Clusters mit dem Enterprise-Sicherheitspaket mit den Microsoft Entra Domain Services.

Lokales Active Directory oder Active Directory auf IaaS-VMs

Wenn Sie eine lokale Active Directory-Instanz oder komplexere Active Directory-Setups für Ihre Domäne haben, können Sie diese Identitäten anhand von Microsoft Entra ID mit Microsoft Entra Connect synchronisieren. Anschließend können Sie Microsoft Entra Domain Services für diesen Active Directory-Mandanten aktivieren.

Da Kerberos auf Kennworthashes angewiesen ist, müssen Sie die Kennworthashsynchronisierung für Microsoft Entra Domain Services aktivieren.

Wenn Sie einen Verbund mit Active Directory-Verbunddienste (AD FS) verwenden, müssen Sie die Kennworthashsynchronisierung aktivieren. (Eine empfohlene Konfiguration finden Sie in diesem Video.) Die Kennworthashsynchronisierung hilft bei der Notfallwiederherstellung, falls Ihre AD FS-Infrastruktur ausfällt, und bietet zudem Schutz vor der Offenlegung von Anmeldeinformationen. Weitere Informationen finden Sie unter Implementieren der Kennworthashsynchronisierung mit der Microsoft Entra Connect Synchronisierung.

Die alleinige Verwendung des lokalen Active Directory oder Active Directory auf IaaS-VMs ohne Microsoft Entra ID und Microsoft Entra Domain Services wird für HDInsight-Cluster mit dem ESP nicht unterstützt.

Hinweis

Azure AD- und MSOnline PowerShell-Module sind ab dem 30. März 2024 veraltet. Weitere Informationen finden Sie im Update zur Unterstützungseinstellung. Nach diesem Datum wird die Unterstützung für diese Module auf die Migrationsunterstützung für das Microsoft Graph PowerShell-SDK und Sicherheitskorrekturen beschränkt. Die veralteten Module funktionieren weiterhin bis zum 30. März 2025.

Es wird empfohlen, für die Interaktion mit Microsoft Entra ID (früher Azure AD) zu Microsoft Graph PowerShell zu migrieren. Informationen zu allgemeinen Migrationsfragen finden Sie in den häufig gestellten Fragen zur Migration. Hinweis: Bei der Version 1.0.x von MSOnline können nach dem 30. Juni 2024 Unterbrechungen auftreten.

Wenn ein Verbund verwendet wird und Kennworthashes richtig synchronisiert werden, Sie aber Authentifizierungsfehler erhalten, überprüfen Sie, ob die Cloudkennwortauthentifizierung des PowerShell-Dienstprinzipals aktiviert ist. Ist dies nicht der Fall, müssen Sie eine HRD-Richtlinie (Home Realm Discovery, Startbereichsermittlung) für Ihren Microsoft Entra-Mandanten festlegen. So überprüfen Sie die HRD-Richtlinie und legen sie fest

  1. Installieren Sie die Vorschauversion des Azure AD PowerShell-Moduls.

    Install-Module AzureAD
    
  2. Stellen Sie mit den Anmeldeinformationen eines globalen Administrators (Mandantenadministrators) eine Verbindung her.

    Connect-AzureAD
    
  3. Überprüfen Sie, ob der Dienstprinzipal „Microsoft Azure PowerShell“ bereits erstellt wurde.

    Get-AzureADServicePrincipal -SearchString "Microsoft Azure PowerShell"
    
  4. Wenn der Dienstprinzipal nicht vorhanden ist, erstellen Sie ihn.

    $powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
    
  5. Erstellen Sie die Richtlinie, und fügen Sie sie an den Dienstprinzipal an.

     # 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ächste Schritte