As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tutorial: configurar uma relação de confiança entre realms com um controlador de domínio do Active Directory
Ao configurar uma relação de confiança entre regiões, você permite que os principais (geralmente usuários) de um realm Kerberos diferente se autentiquem nos componentes do aplicativo no cluster. EMR O centro de distribuição de chaves dedicado ao cluster (KDC) estabelece uma relação de confiança com outro KDC usando um princípio entre domínios que existe em ambos. KDCs O nome do principal e a senha coincidem precisamente.
Uma relação de confiança entre domínios exige que eles KDCs possam entrar em contato uns com os outros pela rede e resolver os nomes de domínio uns dos outros. As etapas para estabelecer uma relação de confiança entre regiões com um controlador de domínio do Microsoft AD em execução como uma EC2 instância são fornecidas abaixo, junto com um exemplo de configuração de rede que fornece a conectividade necessária e a resolução do nome de domínio. Qualquer configuração de rede que permita o tráfego de rede necessário KDCs é aceitável.
Opcionalmente, depois de estabelecer uma relação de confiança entre regiões com o Active Directory usando um cluster KDC em um, você pode criar outro cluster usando uma configuração de segurança diferente para referenciar o KDC primeiro cluster como externo. KDC Para obter um exemplo de configuração de segurança e a configuração do cluster, consulte Cluster externo KDC com confiança entre regiões do Active Directory.
Para obter mais informações sobre o EMR suporte da Amazon para Kerberos eKDC, além de links para a documentação do MIT Kerberos, consulte. Use o Kerberos para autenticação com a Amazon EMR
Importante
A Amazon EMR não oferece suporte a relações de confiança entre reinos com. AWS Directory Service for Microsoft Active Directory
Etapa 1: configurar a VPC sub-rede e
Etapa 2: iniciar e instalar o controlador de domínio do Active Directory
Etapa 3: Adicionar contas ao domínio do EMR cluster
Etapa 4: configurar uma relação de confiança recebida no controlador de domínio do Active Directory
Etapa 6: iniciar um cluster kerberizado EMR
Etapa 7: criar HDFS usuários e definir permissões no cluster para contas do Active Directory
Etapa 1: configurar a VPC sub-rede e
As etapas a seguir demonstram a criação de uma sub-rede VPC e para que o cluster dedicado KDC possa acessar o controlador de domínio do Active Directory e resolver seu nome de domínio. Nessas etapas, a resolução do nome de domínio é fornecida referenciando o controlador de domínio do Active Directory como o servidor de nomes de domínio no conjunto de opções. DHCP Para obter mais informações, consulte Etapa 5: Usar um conjunto de DHCP opções para especificar o controlador de domínio do Active Directory como VPC DNS servidor.
O KDC e o controlador de domínio do Active Directory devem ser capazes de resolver os nomes de domínio uns dos outros. Isso permite que EMR a Amazon associe computadores ao domínio e configure automaticamente contas e SSH parâmetros Linux correspondentes em instâncias de cluster.
Se a Amazon não EMR conseguir resolver o nome de domínio, você poderá referenciar a confiança usando o endereço IP do controlador de domínio do Active Directory. No entanto, você deve adicionar manualmente contas Linux, adicionar os principais correspondentes ao cluster dedicado e configurarKDC. SSH
Para configurar a VPC sub-rede e
-
Crie uma Amazon VPC com uma única sub-rede pública. Para obter mais informações, consulte Etapa 1: Crie o VPC no Guia de conceitos VPC básicos da Amazon.
Importante
Ao usar um controlador de domínio do Microsoft Active Directory, escolha um CIDR bloco para o EMR cluster de forma que todos os IPv4 endereços tenham menos de nove caracteres (por exemplo, 10.0.0.0/16). Isso ocorre porque os DNS nomes dos computadores de cluster são usados quando os computadores ingressam no diretório do Active Directory. AWS atribui DNSnomes de host com base no IPv4 endereço de forma que endereços IP mais longos possam resultar em DNS nomes com mais de 15 caracteres. O Active Directory tem um limite de 15 caracteres para registrar nomes de computador adicionados e trunca nomes mais longos, o que pode causar erros imprevisíveis.
-
Remova o conjunto de DHCP opções padrão atribuído aoVPC. Para obter mais informações, consulte Alterando a VPC para usar Nenhuma DHCP opção. Posteriormente, você adiciona um novo que especifica o controlador de domínio do Active Directory como DNS servidor.
-
Confirme se o DNS suporte está habilitado para oVPC, ou seja, se DNS os nomes de host e a DNS resolução estão habilitados. Por padrão, as transições estão ativadas. Para obter mais informações, consulte Atualização do DNS suporte para seu VPC.
-
Confirme se você VPC tem um gateway de internet conectado, que é o padrão. Para mais informações, consulte Criar e anexar um gateway da Internet.
nota
Um gateway de internet é usado neste exemplo porque você está estabelecendo um novo controlador de domínio para VPC o. O gateway da Internet talvez não seja necessário para o aplicativo. O único requisito é que o cluster dedicado KDC possa acessar o controlador de domínio do Active Directory.
-
Crie uma tabela de rotas personalizada, adicione uma rota com o gateway da Internet como destino e a anexe à sub-rede. Para obter mais informações, consulte Criar uma tabela de rotas personalizada.
-
Quando você executa a EC2 instância do controlador de domínio, ela deve ter um IPv4 endereço público estático para você se conectar a ela usandoRDP. A maneira mais fácil de fazer isso é configurar sua sub-rede para atribuir endereços públicos IPv4 automaticamente. Não se trata da configuração padrão quando uma sub-rede é criada. Para obter mais informações, consulte Modificação do atributo de IPv4 endereçamento público da sua sub-rede. Você também pode atribuir o endereço ao iniciar a instância. Para obter mais informações, consulte Atribuição de um IPv4 endereço público durante a execução da instância.
-
Ao terminar, anote sua sub-rede VPC IDs e. Você os usará depois quando iniciar o controlador de domínio do Active Directory e o cluster.
Etapa 2: iniciar e instalar o controlador de domínio do Active Directory
-
Execute uma EC2 instância com base no Microsoft Windows Server 2016 BaseAMI. Recomendamos um tipo de instância m4.xlarge ou melhor. Para obter mais informações, consulte Lançamento de uma AWS Marketplace instância no Guia EC2 do usuário da Amazon.
-
Anote o ID do grupo de segurança associado à EC2 instância. Você precisa dele para o Etapa 6: iniciar um cluster kerberizado EMR. Nós usamos
sg-012xrlmdomain345
. Como alternativa, você pode especificar grupos de segurança diferentes para o EMR cluster e essa instância que permite o tráfego entre eles. Para obter mais informações, consulte Grupos EC2 de segurança da Amazon para instâncias Linux no Guia EC2 do usuário da Amazon. -
Conecte-se à EC2 instância usando RDP o. Para obter mais informações, consulte Conectando-se à sua instância do Windows no Guia EC2 do usuário da Amazon.
-
Inicie o Server Manager para instalar e configurar o perfil Active Directory Domain Services no servidor. Promova o servidor para um controlador de domínio e atribua um nome de domínio (o exemplo que usamos aqui é
). Anote o nome do domínio porque você precisará dele posteriormente ao criar a configuração de EMR segurança e o cluster. Se estiver começando a configurar o Active Directory, você poderá seguir as instruções em How to setup Active Directory (AD) In Windows Server 2016ad.domain.com
. A instância será reiniciada quando você terminar.
Etapa 3: Adicionar contas ao domínio do EMR cluster
RDPao controlador de domínio do Active Directory para criar contas em Usuários e Computadores do Active Directory para cada usuário do cluster. Para obter mais informações, consulte Create a User Account in Active Directory Users and Computers
Além disso, crie uma conta com privilégios suficientes para integrar computadores ao domínio. Você especifica essa conta ao criar um cluster. A Amazon o EMR usa para unir instâncias de cluster ao domínio. Você especifica essa conta e a senha em Etapa 6: iniciar um cluster kerberizado EMR. Para delegar privilégios de integração do computador à conta, recomendamos criar um grupo com privilégios de junção e, em seguida, atribuir o usuário ao grupo. Para obter instruções, consulte Delegating directory join privileges no Guia de administração AWS Directory Service .
Etapa 4: configurar uma relação de confiança recebida no controlador de domínio do Active Directory
Os comandos de exemplo abaixo criam uma relação de confiança no Active Directory, que é uma relação de confiança de região unidirecional, de entrada e não transitiva com o cluster dedicado. KDC O exemplo que usamos para no realm do cluster é
. EC2.INTERNAL
KDC-FQDN
Substitua o pelo DNS nome público listado para o nó EMR primário da Amazon que hospeda KDC o. O parâmetro passwordt
especifica a cross-realm principal password (senha da entidade principal entre realms), determinada por você com o realm do cluster ao criar um cluster. O nome do realm deriva do nome de domínio padrão em us-east-1
para o cluster. O Domain
é o domínio do Active Directory no qual você está criando a confiança, que é em minúscula por convenção. O exemplo usa ad.domain.com
Abra o prompt de comando do Windows com privilégios de administrador e digite os seguintes comandos para criar a relação de confiança no controlador de domínio do 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
Etapa 5: Usar um conjunto de DHCP opções para especificar o controlador de domínio do Active Directory como VPC DNS servidor
Agora que o controlador de domínio do Active Directory está configurado, você deve configurá-lo VPC para usá-lo como um servidor de nome de domínio para resolução de nomes em seuVPC. Para fazer isso, anexe um conjunto DHCP de opções. Especifique o Nome do domínio como o nome de domínio do cluster. Por exemplo, ec2.internal
caso o cluster esteja em us-east-1 ou
para outras regiões. Para servidores de nomes de domínio, você deve especificar o endereço IP do controlador de domínio do Active Directory (que deve ser acessível a partir do cluster) como a primeira entrada, seguida por AmazonProvidedDNS(por exemplo, region
.compute.internalxx.xx.xx.xx
, AmazonProvided DNS). Para obter mais informações, consulte Alteração dos conjuntos de DHCP opções.
Etapa 6: iniciar um cluster kerberizado EMR
-
Na AmazonEMR, crie uma configuração de segurança que especifique o controlador de domínio do Active Directory que você criou nas etapas anteriores. Um comando de exemplo é mostrado abaixo. Substitua o domínio,
, pelo nome do domínio especificado por você em Etapa 2: iniciar e instalar o controlador de domínio do 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
" } } } } }' -
Crie o cluster com os seguintes atributos:
-
Use a opção
--security-configuration
para especificar a configuração de segurança que você criou. UsamosMyKerberosConfig
no exemplo. -
Use a propriedade
SubnetId
da--ec2-attributes option
para especificar a sub-rede que você criou em Etapa 1: configurar a VPC sub-rede e. Usamosstep1-subnet
no exemplo. -
Use
AdditionalMasterSecurityGroups
eAdditionalSlaveSecurityGroups
da opção--ec2-attributes
para especificar que o grupo de segurança associado ao controlador de domínio AD do Etapa 2: iniciar e instalar o controlador de domínio do Active Directory está associado ao nó primário do cluster, bem como aos nós centrais e de tarefa. Usamossg-012xrlmdomain345
no exemplo.
Use
--kerberos-attributes
para especificar os seguintes atributos Kerberos específicos ao cluster:-
O realm do cluster especificado por você ao configurar o controlador de domínio do Active Directory.
-
A senha da entidade principal da relação de confiança entre realms especificada por você como
passwordt
em Etapa 4: configurar uma relação de confiança recebida no controlador de domínio do Active Directory. -
A
KdcAdminPassword
, que você pode usar para administrar o cluster KDC dedicado. -
O nome de logon do usuário e a senha da conta do Active Directory com privilégios de ingresso no computador criados por você em Etapa 3: Adicionar contas ao domínio do EMR cluster.
O exemplo a seguir inicia um cluster kerberizado.
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
-
Etapa 7: criar HDFS usuários e definir permissões no cluster para contas do Active Directory
Ao configurar uma relação de confiança com o Active Directory, a Amazon EMR cria usuários Linux no cluster para cada conta do Active Directory. Por exemplo, o nome de logon de usuário LiJuan
no Active Directory tem uma conta do Linux de lijuan
. Os nomes de usuário do Active Directory podem conter letras maiúsculas, mas o Linux não segue o uso de maiúsculas e minúsculas do Active Directory.
Para permitir que seus usuários façam login no cluster para executar trabalhos do Hadoop, você deve adicionar diretórios de HDFS usuários às contas Linux e conceder a cada usuário a propriedade do diretório. Para isso, recomendamos executar um script salvo no Amazon S3 como uma etapa de cluster. Você também pode executar os comandos no script abaixo da linha de comando no nó primário. Use o par de EC2 chaves que você especificou ao criar o cluster para se conectar ao nó primário SSH como usuário do Hadoop. Para obter mais informações, consulte Use um par de EC2 chaves para SSH credenciais para a Amazon EMR.
Execute o comando a seguir para adicionar uma etapa ao cluster que executa um 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"]
O conteúdo do arquivo AddHDFSUsers.sh
é o seguinte.
#!/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
Grupos do Active Directory mapeados para grupos do Hadoop
A Amazon EMR usa o System Security Services Daemon (SSD) para mapear grupos do Active Directory para grupos do Hadoop. Para confirmar mapeamentos de grupos, depois de fazer login no nó primário, conforme descrito em Usando SSH para se conectar a clusters Kerberizados com a Amazon EMR, você poderá usar o comando hdfs
groups
para confirmar que os grupos do Active Directory aos quais sua conta do Active Directory pertence foram mapeados para os grupos do Hadoop para o usuário correspondente do Hadoop no cluster. Você também pode verificar mapeamentos de grupos de outros usuários especificando um ou mais nomes de usuário usando, por exemplo, o comando hdfs groups
. Para obter mais informações, consulte gruposlijuan