Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Tutorial: Configurazione di un trust tra realm con un controller di dominio Active Directory
Quando si configura un trust cross-realm, si consente ai principali (in genere utenti) di un altro realm Kerberos di autenticarsi sui componenti dell'applicazione sul cluster. EMR Il centro di distribuzione delle chiavi dedicato al cluster (KDC) stabilisce una relazione di fiducia con un altro centro utilizzando un principio interrealm esistente in entrambi. KDC KDCs Il nome e la password del principale corrispondono in modo preciso.
Un trust cross-realm richiede che KDCs possano raggiungersi tramite la rete e risolvere i rispettivi nomi di dominio. Di seguito vengono descritti i passaggi per stabilire una relazione di trust tra domini con un controller di dominio Microsoft AD in esecuzione come EC2 istanza, insieme a un esempio di configurazione di rete che fornisce la connettività e la risoluzione dei nomi di dominio richieste. Qualsiasi configurazione di rete che consenta il traffico di rete richiesto tra di loro è accettabile. KDCs
Facoltativamente, dopo aver stabilito un trust cross-realm con Active Directory utilizzando un cluster KDC su un solo cluster, è possibile creare un altro cluster utilizzando una configurazione di sicurezza diversa per fare riferimento a quella KDC del primo cluster come esterna. KDC Per un esempio di configurazione di sicurezza e di impostazione del cluster, consultare Cluster esterno KDC con trust cross-realm di Active Directory.
Per ulteriori informazioni sul EMR supporto Amazon per Kerberos eKDC, oltre ai collegamenti alla documentazione MIT Kerberos, consulta. Usa Kerberos per l'autenticazione con Amazon EMR
Importante
Amazon EMR non supporta trust cross-realm con. AWS Directory Service for Microsoft Active Directory
Passaggio 1: configura la sottorete and VPC
Fase 2: Avvio e installazione del controller di dominio Active Directory
Fase 3: Aggiungere account al dominio per il EMR Cluster
Fase 4: Configurazione di un trust in entrata sul controller di dominio Active Directory
Fase 6: Avvio di un cluster kerberizzato EMR
Passaggio 1: configura la sottorete and VPC
I passaggi seguenti illustrano la creazione di una sottorete VPC and in modo che il cluster dedicato al cluster KDC possa raggiungere il controller di dominio Active Directory e risolverne il nome di dominio. In questi passaggi, la risoluzione dei nomi di dominio viene fornita facendo riferimento al controller di dominio Active Directory come server dei nomi di dominio nell'insieme di opzioni. DHCP Per ulteriori informazioni, consulta Passaggio 5: utilizza un set di DHCP opzioni per specificare il controller di dominio Active Directory come VPC DNS server.
Il controller di dominio Active Directory KDC e il controller di dominio Active Directory devono essere in grado di risolvere i rispettivi nomi di dominio. Ciò consente EMR ad Amazon di aggiungere computer al dominio e configurare automaticamente gli account e i SSH parametri Linux corrispondenti sulle istanze del cluster.
Se Amazon non è in EMR grado di risolvere il nome di dominio, puoi fare riferimento al trust utilizzando l'indirizzo IP del controller di dominio Active Directory. Tuttavia, devi aggiungere manualmente gli account Linux, aggiungere i principali corrispondenti al cluster dedicato KDC e configurare. SSH
Per configurare la sottorete and VPC
-
Crea un Amazon VPC con un'unica sottorete pubblica. Per ulteriori informazioni, consulta la Fase 1: Creare il file VPC nella Amazon VPC Getting Started Guide.
Importante
Quando utilizzi un controller di dominio Microsoft Active Directory, scegli un CIDR blocco per il EMR cluster in modo che tutti IPv4 gli indirizzi abbiano una lunghezza inferiore a nove caratteri (ad esempio, 10.0.0.0/16). Questo perché DNS i nomi dei computer del cluster vengono utilizzati quando i computer si aggiungono alla directory di Active Directory. AWS assegna DNSnomi host in base IPv4 all'indirizzo in modo che indirizzi IP più lunghi possano dare come risultato DNS nomi più lunghi di 15 caratteri. Active Directory ha un limite di 15 caratteri per la registrazione di nomi di computer aggiunti e tronca i nomi più lunghi, condizione che può causare errori imprevedibili.
-
Rimuove il set di DHCP opzioni predefinito assegnato a. VPC Per ulteriori informazioni, vedere Modificare un file VPC per utilizzare l'DHCPopzione No. Successivamente, ne aggiungi uno nuovo che specifica il controller di dominio Active Directory come DNS server.
-
Verifica che DNS il supporto sia abilitato perVPC, ovvero che DNS Hostnames e DNS Resolution siano entrambi abilitati. (impostazione predefinita). Per ulteriori informazioni, consulta Aggiornamento del DNS supporto per il tuo VPC.
-
Verifica che al tuo VPC sia collegato un gateway Internet, che è l'impostazione predefinita. Per ulteriori informazioni, consulta l'argomento relativo alla creazione e all'associazione di un gateway Internet.
Nota
In questo esempio viene utilizzato un gateway Internet perché si sta creando un nuovo controller di dominio perVPC. È tuttavia possibile che un gateway Internet non sia necessario per l'applicazione. L'unico requisito è che il cluster dedicato KDC possa accedere al controller di dominio Active Directory.
-
Creare una tabella di routing personalizzata, aggiungere un instradamento che porta al gateway Internet, quindi associarlo alla sottorete. Per ulteriori informazioni, consulta Creazione di una tabella di routing personalizzata.
-
Quando si avvia l'EC2istanza per il controller di dominio, deve disporre di un IPv4 indirizzo pubblico statico per poterlo utilizzare. RDP Il modo più semplice per farlo è configurare la sottorete per l'assegnazione automatica di indirizzi pubblici. IPv4 che non è l'impostazione predefinita quando si crea una sottorete. Per ulteriori informazioni, consulta Modifica dell'attributo di IPv4 indirizzamento pubblico della sottorete. Eventualmente, è possibile assegnare l'indirizzo all'avvio dell'istanza. Per ulteriori informazioni, consulta Assegnazione di un IPv4 indirizzo pubblico durante l'avvio dell'istanza.
-
Al termine, prendi nota della tua VPC IDs sottorete. Questi ID saranno utilizzati in seguito quando si avvia il controller di dominio Active Directory e il cluster.
Fase 2: Avvio e installazione del controller di dominio Active Directory
-
Avvia un'EC2istanza basata su Microsoft Windows Server 2016 BaseAMI. Consigliamo un tipo di istanza m4.xlarge o superiore. Per ulteriori informazioni, consulta Launching an Marketplace AWS Instance nella Amazon EC2 User Guide.
-
Prendi nota dell'ID di gruppo del gruppo di sicurezza associato all'EC2istanza. Servirà per Fase 6: Avvio di un cluster kerberizzato EMR. Usiamo
sg-012xrlmdomain345
. In alternativa, puoi specificare diversi gruppi di sicurezza per il EMR cluster e questa istanza che consente il traffico tra di loro. Per ulteriori informazioni, consulta i gruppi EC2 di sicurezza Amazon per le istanze Linux nella Amazon EC2 User Guide. -
Connect all'EC2istanza utilizzandoRDP. Per ulteriori informazioni, consulta Connessione all'istanza Windows nella Amazon EC2 User Guide.
-
Avvia Server Manager per installare e configurare il ruolo dei servizi di dominio Active Directory sul server. Alzare il livello del server a controller di dominio e assegnare un nome di dominio (l'esempio utilizzato qui è
). Prendi nota del nome di dominio perché ne avrai bisogno in seguito quando creerai la configurazione EMR di sicurezza e il cluster. Per informazioni sulla configurazione di Active Directory, segui le istruzioni contenute in Come configurare Active Directory (AD) in Windows Server 2016ad.domain.com
. L'istanza viene riavviata al termine della procedura.
Fase 3: Aggiungere account al dominio per il EMR Cluster
RDPal controller di dominio Active Directory per creare account in Utenti e computer di Active Directory per ogni utente del cluster. Per ulteriori informazioni, consulta Create a User Account in Active Directory Users and Computers
Inoltre, crea un account con privilegi sufficienti per aggiungere computer al dominio. Questo account viene specificato quando si crea un cluster. Amazon lo EMR utilizza per unire le istanze del cluster al dominio. Questo account e la relativa password sono specificati in Fase 6: Avvio di un cluster kerberizzato EMR. Per delegare privilegi di aggiunta di computer all'account, è consigliabile creare un gruppo con privilegi di aggiunta e quindi assegnare l'utente al gruppo. Per istruzioni, consulta Delega dei privilegi di aggiunta di directory nella Guida per l'amministrazione di AWS Directory Service .
Fase 4: Configurazione di un trust in entrata sul controller di dominio Active Directory
I comandi di esempio riportati di seguito creano un trust in Active Directory, che è un realm trust unidirezionale, in entrata e non transitivo, con il realm trust dedicato al cluster. KDC L'esempio che utilizziamo per il realm del cluster è
. Sostituisci EC2.INTERNAL
KDC-FQDN
con il DNS nome pubblico indicato per il nodo EMR principale Amazon che ospita ilKDC. Il parametro passwordt
specifica la cross-realm principal password (password del principale inter-realm), definita insieme al realm del cluster quando si crea un cluster. Il nome di realm è derivato dal nome di dominio di default in us-east-1
per il cluster. Domain
è il dominio di Active Directory in cui si crea il trust, che è minuscolo per convenzione. L'esempio utilizza
.ad.domain.com
Aprire il prompt dei comandi di Windows con privilegi di amministratore e digitare i comandi seguenti per creare la relazione di trust sul controller di dominio Active Directory:
C:\Users\Administrator> ksetup /addkdc
EC2.INTERNAL
KDC-FQDN
C:\Users\Administrator> netdom trustEC2.INTERNAL
/Domain:ad.domain.com
/add /realm /passwordt:MyVeryStrongPassword
C:\Users\Administrator> ksetup /SetEncTypeAttr EC2.INTERNAL AES256-CTS-HMAC-SHA1-96
Passaggio 5: utilizza un set di DHCP opzioni per specificare il controller di dominio Active Directory come VPC DNS server
Ora che il controller di dominio Active Directory è configurato, è necessario configurarlo VPC per utilizzarlo come server dei nomi di dominio per la risoluzione dei nomi all'interno del VPC A tale scopo, allega un set DHCP di opzioni. Specifica il Domain name (Nome di dominio) come nome di dominio del cluster, ad esempio ec2.internal
se il cluster si trova in us-east-1 o
per le altre Regioni. Per i server dei nomi di dominio, è necessario specificare l'indirizzo IP del controller di dominio Active Directory (che deve essere raggiungibile dal cluster) come prima voce, seguita da AmazonProvidedDNS(ad esempio region
.compute.internalxx.xx.xx.xx
, AmazonProvided DNS). Per ulteriori informazioni, vedere Modifica dei set di DHCP opzioni.
Fase 6: Avvio di un cluster kerberizzato EMR
-
In AmazonEMR, crea una configurazione di sicurezza che specifichi il controller di dominio Active Directory creato nei passaggi precedenti. Un esempio di comando è riportato di seguito. Sostituire il dominio,
, con il nome del dominio specificato in Fase 2: Avvio e installazione del controller di dominio Active Directory.ad.domain.com
aws emr create-security-configuration --name MyKerberosConfig \ --security-configuration '{ "AuthenticationConfiguration": { "KerberosConfiguration": { "Provider": "ClusterDedicatedKdc", "ClusterDedicatedKdcConfiguration": { "TicketLifetimeInHours":
24
, "CrossRealmTrustConfiguration": { "Realm": "AD.DOMAIN.COM
", "Domain": "ad.domain.com
", "AdminServer": "ad.domain.com
", "KdcServer": "ad.domain.com
" } } } } }' -
Creare il cluster con gli attributi seguenti:
-
Utilizzare l'opzione
--security-configuration
per specificare la configurazione di sicurezza creata. UsiamoMyKerberosConfig
nell'esempio. -
Utilizzare la proprietà
SubnetId
di--ec2-attributes option
per specificare la sottorete creata in Passaggio 1: configura la sottorete and VPC. Usiamostep1-subnet
nell'esempio. -
Utilizza
AdditionalMasterSecurityGroups
eAdditionalSlaveSecurityGroups
dell'opzione--ec2-attributes
per specificare che il gruppo di sicurezza associato al controller di dominio AD da Fase 2: Avvio e installazione del controller di dominio Active Directory è associato al nodo primario del cluster, nonché ai nodi principali e attività. Usiamosg-012xrlmdomain345
nell'esempio.
Utilizzare
--kerberos-attributes
per specificare i seguenti attributi Kerberos specifici del cluster:-
Il realm per il cluster specificato nella configurazione del controller di dominio Active Directory.
-
La password del principale del trust tra realm specificata come
passwordt
in Fase 4: Configurazione di un trust in entrata sul controller di dominio Active Directory. -
A
KdcAdminPassword
, che puoi usare per amministrare il cluster KDC dedicato. -
La password e il nome di accesso utente dell'account Active Directory con privilegi di aggiunta di computer creati in Fase 3: Aggiungere account al dominio per il EMR Cluster.
L'esempio seguente avvia un cluster che utilizza Kerberos.
aws emr create-cluster --name "
MyKerberosCluster
" \ --release-label emr-5.10.0 \ --instance-typem5.xlarge
\ --instance-count3
\ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole
,KeyName=MyEC2KeyPair
,\ SubnetId=step1-subnet
, AdditionalMasterSecurityGroups=sg-012xrlmdomain345
, AdditionalSlaveSecurityGroups=sg-012xrlmdomain345
\ --service-role EMR_DefaultRole \ --security-configurationMyKerberosConfig
\ --applications Name=Hadoop
Name=Hive
Name=Oozie
Name=Hue
Name=HCatalog
Name=Spark
\ --kerberos-attributes Realm=EC2.INTERNAL
,\ KdcAdminPassword=MyClusterKDCAdminPwd
,\ ADDomainJoinUser=ADUserLogonName
,ADDomainJoinPassword=ADUserPassword
,\ CrossRealmTrustPrincipalPassword=MatchADTrustPwd
-
Passaggio 7: Creare HDFS utenti e impostare le autorizzazioni sul cluster per gli account Active Directory
Quando si configura una relazione di fiducia con Active Directory, Amazon EMR crea utenti Linux nel cluster per ogni account Active Directory. Ad esempio, il nome di accesso utente LiJuan
in Active Directory dispone di un account Linux lijuan
. I nomi utente Active Directory possono contenere lettere maiuscole, ma Linux non supporta la combinazione di maiuscole e minuscole di Active Directory.
Per consentire agli utenti di accedere al cluster per eseguire i job Hadoop, è necessario aggiungere le directory HDFS utente per i rispettivi account Linux e concedere a ciascun utente la proprietà della propria directory. A questo proposito, consigliamo di eseguire uno script salvato in Amazon S3 come fase di cluster. In alternativa, è possibile eseguire i comandi nello script illustrato di seguito dalla riga di comando sul nodo primario. Usa la EC2 key pair che hai specificato quando hai creato il cluster per connetterti al nodo primario SSH come utente Hadoop. Per ulteriori informazioni, consulta Usa una EC2 key pair per SSH le credenziali per Amazon EMR.
Esegui il comando seguente per aggiungere un passaggio al cluster che esegue uno script,. AddHDFSUsers.sh
aws emr add-steps --cluster-id
<j-2AL4XXXXXX5T9>
\ --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,\ Jar=s3://region
.elasticmapreduce/libs/script-runner/script-runner.jar,Args=["s3://amzn-s3-demo-bucket
/AddHDFSUsers.sh"]
Il contenuto del file AddHDFSUsers.sh
è il seguente.
#!/bin/bash # AddHDFSUsers.sh script # Initialize an array of user names from AD or Linux users and KDC principals created manually on the cluster ADUSERS=("lijuan" "marymajor" "richardroe" "myusername") # For each user listed, create an HDFS user directory # and change ownership to the user for username in ${ADUSERS[@]}; do hdfs dfs -mkdir /user/$username hdfs dfs -chown $username:$username /user/$username done
Gruppi Active Directory mappati a gruppi Hadoop
Amazon EMR utilizza System Security Services Daemon (SSD) per mappare i gruppi di Active Directory ai gruppi Hadoop. Per confermare le mappature dei gruppi, dopo aver eseguito l'accesso al nodo primario come descritto in Utilizzo SSH per connettersi ai cluster Kerberized con Amazon EMR, puoi utilizzare il comando hdfs
groups
per confermare che i gruppi Active Directory a cui l'account Active Directory appartiene siano stati mappati a gruppi Hadoop per l'utente Hadoop corrispondente sul cluster. È inoltre possibile verificare le mappature di gruppi di altri utenti specificando uno o più nomi utente con il comando, ad esempio hdfs groups
. Per ulteriori informazioni, consulta i gruppilijuan