Utiliser le pack Sécurité Entreprise dans HDInsight

Le cluster Azure HDInsight standard est un cluster à un seul utilisateur. Il convient à la plupart des entreprises qui font appel à des équipes d’application plus petites pour créer leurs charges de travail de données importantes. Chaque utilisateur peut créer un cluster dédié à la demande, et le détruire quand il n’est plus nécessaire.

De nombreuses entreprises se sont orientées vers un modèle dans lequel les clusters sont gérés par les équipes informatiques, et partagés par plusieurs équipes d'application. Ces entreprises de plus grande taille ont besoin d’un accès multi-utilisateur à chaque cluster dans Azure HDInsight.

HDInsight s’appuie sur le fournisseur d’identité répandu, Active Directory, de façon managée. En intégrant HDInsight à Microsoft Entra Domain Services, vous pouvez accéder aux clusters en utilisant vos informations d’identification de domaine.

Les machines virtuelles dans HDInsight sont joints à votre domaine fourni. Ainsi, tous les services exécutés sur HDInsight (Apache Ambari, serveur Apache Hive, Apache Ranger, serveur Apache Spark Thrift, etc.) fonctionnent de manière transparente pour l’utilisateur authentifié. Les administrateurs peuvent ensuite créer des stratégies d’autorisation strictes à l’aide d’Apache Ranger, de façon à fournir un contrôle de l’accès en fonction du rôle pour les ressources du cluster.

Intégrer HDInsight avec Active Directory

Apache Hadoop open source s'appuie sur le protocole Kerberos pour l'authentification et la sécurité. Ainsi, les nœuds de cluster HDInsight avec le Pack Sécurité Entreprise (ESP) sont joints à un domaine qui est géré par Microsoft Entra Domain Services. La sécurité Kerberos est configurée pour les composants Hadoop sur le cluster.

Les éléments suivants sont créés automatiquement :

  • Un principal de service pour chaque composant Hadoop
  • Un principal de machine pour chaque machine jointe au domaine
  • Une unité d'organisation pour chaque cluster afin de stocker ces principaux de service et de machine

Pour résumer, vous devez configurer un environnement avec :

  • Un domaine Active Directory (géré par Microsoft Entra Domain Services). Le nom de domaine doit comporter 39 caractères au maximum pour fonctionner avec Azure HDInsight.
  • LDAP sécurisé (LDAPS) activé dans Microsoft Entra Domain Services.
  • Une connectivité réseau appropriée, du réseau virtuel HDInsight au réseau virtuel Microsoft Entra Domain Services, si vous choisissez des réseaux virtuels distincts pour ces services. Une machine virtuelle à l’intérieur du réseau virtuel HDInsight doit avoir une visibilité directe sur Microsoft Entra Domain Services via l’appairage de réseaux virtuels. Si HDInsight et Microsoft Entra Domain Services sont déployés au sein du même réseau virtuel, la connectivité est automatiquement fournie et aucune action supplémentaire n’est nécessaire.

Configurer différents contrôleurs de domaine

Pour l’instant, HDInsight prend uniquement en charge Microsoft Entra Domain Services comme étant le contrôleur de domaine principal que le cluster utilise pour la communication Kerberos. Par contre, d’autres configurations Active Directory complexes sont possibles, tant que ce type de configuration aboutit à l’activation de Microsoft Entra Domain Services pour l’accès de HDInsight.

Services de domaine Microsoft Entra

Microsoft Entra Domain Services fournit un domaine managé qui est entièrement compatible avec Windows Server Active Directory. Microsoft effectue la gestion, les mises à jour correctives et la surveillance du domaine dans une configuration à haute disponibilité. Vous pouvez déployer votre cluster sans vous préoccuper de la maintenance des contrôleurs de domaine.

Les utilisateurs, groupes et mots de passe sont synchronisés à partir de Microsoft Entra ID. La synchronisation unidirectionnelle de votre instance Microsoft Entra vers Microsoft Entra Domain Services permet aux utilisateurs de se connecter au cluster à l’aide des mêmes informations d’identification d’entreprise.

Pour plus d’informations, consultez Configurer des clusters HDInsight avec ESP à l’aide de Microsoft Entra Domain Services.

Service Active Directory local ou Active Directory sur des machines virtuelles IaaS

Si vous disposez d’une instance Active Directory locale ou de configurations Active Directory plus complexes pour votre domaine, vous pouvez synchroniser ces identités sur Microsoft Entra ID en utilisant Microsoft Entra Connect. Vous pouvez ensuite activer Microsoft Entra Domain Services sur ce locataire Active Directory.

Kerberos s’appuyant sur les hachages de mot de passe, vous devez activer la synchronisation du hachage de mot de passe sur Microsoft Entra Domain Services.

Si vous utilisez la fédération avec les services AD FS (Active Directory Federation Services), vous devez activer la synchronisation du hachage de mot de passe. (Pour connaître la configuration recommandée, consultez cette vidéo.) La synchronisation du hachage de mot de passe facilite la récupération d'urgence en cas de défaillance de votre infrastructure AD FS, et offre également une protection contre les fuites d'informations d'identification. Pour plus d’informations, consultez Activer la synchronisation du hachage de mot de passe avec la Microsoft Entra Connect Sync.

L’utilisation exclusive du service Active Directory local ou d’Active Directory sur des machines virtuelles IaaS avec une configuration sans Microsoft Entra ID ni Microsoft Entra Domain Services n’est pas prise en charge pour les clusters HDInsight avec ESP.

Remarque

Les modules Azure AD et MSOnline PowerShell sont dépréciés depuis le 30 mars 2024. Pour en savoir plus, lisez les informations de dépréciation. Passé cette date, la prise en charge de ces modules est limitée à une assistance de migration vers le SDK et les correctifs de sécurité Microsoft Graph PowerShell. Les modules déconseillés continueront de fonctionner jusqu’au 30 mars 2025.

Nous vous recommandons de migrer vers Microsoft Graph PowerShell pour interagir avec Microsoft Entra ID (anciennement Azure AD). Pour explorer les questions courantes sur la migration, reportez-vous au FAQ sur la migration. Remarque : Les versions 1.0.x de MSOnline peuvent connaître une interruption après le 30 juin 2024.

Si vous rencontrez des problèmes d’authentification alors que la fédération est utilisée et que les hachages de mot de passe sont correctement synchronisés, vérifiez que l’authentification par mot de passe cloud est activée pour le principal de service PowerShell. Dans le cas contraire, vous devez définir une stratégie de découverte du domaine d’accueil pour votre locataire Microsoft Entra. Pour vérifier et définir la stratégie de découverte du domaine d'accueil :

  1. Installez le module Azure AD PowerShell en préversion.

    Install-Module AzureAD
    
  2. Connectez-vous en utilisant les informations d'identification d'un administrateur général (administrateur de locataire).

    Connect-AzureAD
    
  3. Assurez-vous que le principal de service Microsoft Azure PowerShell a déjà été créé.

    Get-AzureADServicePrincipal -SearchString "Microsoft Azure PowerShell"
    
  4. Si ce n'est pas le cas, créez le principal de service.

    $powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
    
  5. Créez la stratégie et joignez-la à ce principal de service.

     # 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
    

Étapes suivantes