Usare Enterprise Security Package in HDInsight
Il cluster Azure HDInsight standard è un cluster a utente singolo. Si tratta di un cluster adatto alla maggior parte delle aziende con team di piccole dimensioni che compilano carichi di lavoro di dati di grandi dimensioni. Ogni utente può creare un cluster dedicato diverso su richiesta ed eliminarlo quando non è più necessario.
Molte aziende sono passate a un modello in cui i team IT gestiscono i cluster e più team delle applicazioni condividono i cluster. Per queste aziende di grandi dimensioni è necessario l'accesso multiutente al cluster in Azure HDInsight.
HDInsight si basa su un provider di identità diffuso, Active Directory, in modo gestito. Grazie all'integrazione di HDInsight con Microsoft Entra Domain Services, è possibile accedere ai cluster usando le credenziali di dominio.
Le macchine virtuali (VM) in HDInsight sono parte del dominio specificato. Pertanto, tutti i servizi in esecuzione in HDInsight, come Apache Ambari, server Apache Hive, Apache Ranger, server Apache Spark Thrift e altri, funzionano senza problemi per l'utente autenticato. Gli amministratori possono quindi creare criteri di autorizzazione sicuri usando Apache Ranger per fornire il controllo di accesso basato sui ruoli per le risorse nel cluster.
Integrare HDInsight con Active Directory
Apache Hadoop open source si basa sul protocollo Kerberos per l'autenticazione e la sicurezza. Pertanto, i nodi del cluster HDInsight con Enterprise Security Package (ESP) vengono aggiunti a un dominio gestito da Microsoft Entra Domain Services. La sicurezza Kerberos è configurata per i componenti Hadoop nel cluster.
Gli elementi seguenti vengono creati automaticamente:
- Un'entità servizio per ogni componente Hadoop
- Un'entità computer per ogni computer aggiunto al dominio
- Un'unità organizzativa (OU) per ogni cluster in cui archiviare le entità servizio e computer
In sintesi, è necessario configurare un ambiente con gli elementi seguenti:
- Un dominio di Active Directory (gestito da Microsoft Entra Domain Services). Il nome di dominio deve contenere al massimo 39 caratteri per funzionare con Azure HDInsight.
- LDAP sicuro (LDAPS) abilitato in Microsoft Entra Domain Services.
- Connettività di rete adeguata dalla rete virtuale HDInsight alla rete virtuale di Microsoft Entra Domain Services, se si scelgono reti virtuali separate. Una macchina virtuale all'interno della rete virtuale HDInsight dovrebbe avere una linea visiva verso Microsoft Entra Domain Services attraverso il peering di rete virtuale. Se HDInsight e Microsoft Entra Domain Services sono distribuiti nella stessa rete virtuale, la connettività viene stabilita automaticamente e non sono necessarie altre operazioni.
Configurazione diversa dei controller di dominio
HDInsight attualmente supporta solo Microsoft Entra Domain Services come controller di dominio principale che il cluster userà per la comunicazione Kerberos. Ma sono possibili anche altre configurazioni complesse di Active Directory, purché tali configurazioni portino all'abilitazione di Microsoft Entra Domain Services per l'accesso a HDInsight.
Microsoft Entra Domain Services
Microsoft Entra Domain Services fornisce un dominio gestito che è completamente compatibile con Windows Server Active Directory. Microsoft si occupa della gestione, dell'applicazione di patch e del monitoraggio del dominio AD in una configurazione a disponibilità elevata. È possibile distribuire il cluster senza doversi preoccupare di gestire i controller di dominio.
Utenti, gruppi e password vengono sincronizzati da Microsoft Entra ID. La sincronizzazione unidirezionale dall'istanza di Microsoft Entra a Microsoft Entra Domain Services consente agli utenti di accedere al cluster usando le stesse credenziali aziendali.
Per altre informazioni, vedere Configurare cluster HDInsight con Enterprise Security Package usando Microsoft Entra Domain Services.
Active Directory locale o Active Directory nelle macchine virtuali IaaS
Se si dispone di un'istanza di Active Directory locale o di configurazioni più complesse di Active Directory per il dominio, è possibile sincronizzare le identità in Microsoft Entra ID tramite Microsoft Entra Connect. È possibile abilitare Microsoft Entra Domain Services nel tenant di Active Directory.
Poiché Kerberos si basa sugli hash delle password, è necessario abilitare la sincronizzazione degli hash delle password in Microsoft Entra Domain Services.
Se si usa la federazione con Active Directory Federation Services (AD FS), è necessario abilitare la sincronizzazione degli hash delle password. Per una configurazione consigliata, guardare questo video. La sincronizzazione degli hash delle password facilita il ripristino di emergenza in caso di problemi relativi all'infrastruttura AD FS e contribuisce a garantire la protezione per le credenziali perse. Per altre informazioni, vedere Abilitare la sincronizzazione degli hash delle password con la sincronizzazione di Microsoft Entra Connect.
Quando si usa Active Directory locale o di Active Directory sulle sole macchine virtuali IaaS, senza Microsoft Entra ID e Microsoft Entra Domain Services, non è una configurazione supportata per i cluster HDInsight con ESP.
Nota
I moduli Azure AD e MSOnline PowerShell sono deprecati a partire dal 30 marzo 2024. Per maggiori informazioni, leggere l'aggiornamento sulla deprecazione. Dopo questa data, il supporto per questi moduli è limitato all'assistenza alla migrazione a Microsoft Graph PowerShell SDK e alle correzioni di sicurezza. I moduli deprecati continueranno a funzionare fino al 30 marzo 2025.
È consigliabile eseguire la migrazione a Microsoft Graph PowerShell per interagire con Microsoft Entra ID (in precedenza Azure AD). Per domande comuni sulla migrazione, consultare le Domande frequenti sulla migrazione. Nota: le versioni 1.0.x di MSOnline potrebbero subire interruzioni dopo il 30 giugno 2024.
Se si usa la federazione e gli hash delle password vengono sincronizzati correttamente ma si ricevono errori di autenticazione, verificare che l'autenticazione della password cloud sia abilitata per l'entità servizio PowerShell. In caso negativo, sarà necessario impostare i criteri di individuazione dell'area di autenticazione principale per il tenant di Microsoft Entra. Per verificare e impostare i criteri di individuazione dell'area di autenticazione principale:
Installare il modulo Azure AD PowerShell di anteprima.
Install-Module AzureAD
Connettersi usando le credenziali di amministratoredelle identità ibride.
Connect-AzureAD
Controllare se è già stata creata l'entità servizio Microsoft Azure PowerShell.
Get-AzureADServicePrincipal -SearchString "Microsoft Azure PowerShell"
In caso contrario, creare l'entità servizio.
$powershellSPN = New-AzureADServicePrincipal -AppId 1950a258-227b-4e31-a9cf-717495945fc2
Creare e associare i criteri a questa entità servizio.
# 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