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á.
Conceitos básicos do AD Connector
Com o AD Connector, é possível conectar o AWS Directory Service ao seu Active Directory empresarial existente. Quando conectados ao seu diretório existente, todos os dados do diretório permanecem nos controladores de domínio. O AWS Directory Service não replica nenhum dos dados de diretório.
Pré-requisitos do AD Connector
Para conectar ao seu diretório existente com o AD Connector, você precisa do seguinte:
- Amazon VPC
-
Configure uma VPC com o seguinte:
-
Pelo menos duas sub-redes. Cada uma das sub-redes deve estar em uma zona de disponibilidade diferente.
-
A VPC deve estar conectada à sua rede existente por meio de uma conexão de rede privada virtual (VPN) ou AWS Direct Connect.
-
A VPC deve ter uma locação de hardware padrão.
O AWS Directory Service usa uma estrutura de duas VPCs. As instâncias do EC2 que compõem seu diretório são executadas fora da sua conta da AWS e são gerenciadas pela AWS. Elas têm dois adaptadores de rede
ETH0
eETH1
.ETH0
é o adaptador de gerenciamento e existe fora da sua conta.ETH1
é criado em sua conta.O intervalo de IP de gerenciamento da
ETH0
rede do seu diretório é escolhido de maneira programática para garantir que não entre em conflito com a VPC em que seu diretório está implantado. Esse intervalo de IP pode estar em qualquer um dos seguintes pares (já que os diretórios são executados em duas sub-redes):-
10.0.1.0/24 e 10.0.2.0/24
-
169.254.0.0/16
-
192.168.1.0/24 e 192.168.2.0/24
Evitamos conflitos verificando o primeiro octeto do CIDR
ETH1
. Se ele começar com 10, escolheremos uma VPC 192.168.0.0/16 com sub-redes 192.168.1.0/24 e 192.168.2.0/24. Se o primeiro octeto for diferente de 10, escolheremos uma VPC 10.0.0.0/16 com sub-redes 10.0.1.0/24 e 10.0.2.0/24.O algoritmo de seleção não inclui rotas em sua VPC. Portanto, é possível que um conflito de roteamento IP resulte desse cenário.
Para obter mais informações, consulte um dos tópicos a seguir no Guia do usuário da Amazon VPC.
Para obter mais informações sobre o AWS Direct Connect, consulte o Guia do usuário do AWS Direct Connect.
-
- Active Directory existente
-
Será necessário se conectar a uma rede existente com um domínio do Active Directory.
nota
O AD Connector não é compatível com domínios de rótulo único
. O nível funcional desse domínio do Active Directory deve ser
Windows Server 2003
ou superior. O AD Connector também oferece suporte à conexão a um domínio hospedado em uma instância do Amazon EC2.nota
O AD Connector não oferece suporte a controladores de domínio somente leitura (RODC) quando usados em combinação com o recurso de associação a domínio do Amazon EC2.
- Conta de serviço
-
Você deve ter credenciais para uma conta de serviço no diretório existente delegada com os privilégios a seguir:
-
Ler os usuários e grupos — Obrigatório
-
Associar computadores ao domínio: necessário somente ao usar a associação direta a domínios e o WorkSpaces
-
Criar objetos de computador: obrigatório somente ao usar associação direta a domínios e o WorkSpaces
-
A senha da conta de serviço deve estar em conformidade com os requisitos de senha da AWS. As senhas da AWS devem ser:
-
Entre 8 e 128 caracteres.
-
Contém pelo menos um caractere de três das seguintes quatro categorias:
-
Letras minúsculas (a-z)
-
Letras maiúsculas (A-Z)
-
Números (0-9)
-
Caracteres não alfanuméricos (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)
-
-
Para ter mais informações, consulte Delegar privilégios para sua conta de serviço.
nota
O AD Connector usa Kerberos para autenticação e autorização de aplicações da AWS. O LDAP é usado somente para pesquisas de objetos de usuários e grupos (operações de leitura). Com as transações LDAP, nada é mutável e as credenciais não são passadas em texto não criptografado. A autenticação é feita por um serviço interno da AWS que usa tíquetes Kerberos para realizar operações LDAP como usuário.
-
- Permissões de usuário
-
Todos os usuários do Active Directory devem ter permissões para ler seus próprios atributos. Especificamente os seguintes atributos:
-
GivenName
-
SurName
-
Mail
-
SamAccountName
-
UserPrincipalName
-
UserAccountControl
-
MemberOf
Por padrão, os usuários do Active Directory têm permissão de leitura para esses atributos. No entanto, os administradores podem alterar essas permissões ao longo do tempo, de modo que você pode verificar se seus usuários têm essas permissões de leitura antes de configurar o AD Connector pela primeira vez.
-
- Endereços IP
-
Obtenha os endereços IP de dois servidores DNS ou controladores de domínio no seu diretório existente.
O AD Connector obtém os registros SRV
_ldap._tcp.
e<DnsDomainName>
_kerberos._tcp.
desses servidores ao se conectar ao seu diretório, de forma que esses servidores devem conter esses registros de SRV. O AD Connector tenta encontrar um controlador comum de domínio que fornece serviços de LDAP e Kerberos; portanto, esses registros de SRV devem incluir pelo menos um controlador de domínio em comum. Para obter mais informações sobre registros SRV, visite SRV Resource Records (Registros de recursos SRV)<DnsDomainName>
no Microsoft TechNet. - Portas para sub-redes
-
Para que o AD Connector redirecione as solicitações aos controladores de domínio do Active Directory, o firewall da sua rede existente deverá ter as portas a seguir abertas aos CIDRs de ambas as sub-redes na Amazon VPC.
-
TCP/UDP 53 - DNS
-
TCP/UDP 88 - autenticação de Kerberos
-
TCP/UDP 389 - LDAP
Essas são as portas mínimas necessárias para que o AD Connector possa se conectar ao seu diretório. Sua configuração específica pode exigir que portas adicionais sejam abertas.
Se você quiser usar o AD Connector e o Amazon WorkSpaces, o atributo DisableVLVSupportLDAP precisa ser definido como 0 para seus controladores de domínio. Essa é a configuração padrão dos controladores de domínio. O AD Connector não poderá consultar usuários no diretório se o atributo DisableVLVSupportLDAP estiver habilitado. Isso impede que o AD Connector funcione com o Amazon WorkSpaces.
nota
Se os servidores DNS ou servidores para o controlador de domínio do Active Directory Domain existente estiverem dentro da VPC, os grupos de segurança associados a esses servidores deverão ter as portas acima abertas para os CIDRs de ambas as sub-redes na VPC.
Para requisitos adicionais de portas, consulte AD and AD DS Port Requirements
na documentação da Microsoft. -
- Pré-autenticação do Kerberos
-
Suas contas de usuário devem ter a pré-autenticação Kerberos habilitada. Para obter instruções detalhadas sobre como habilitar essa configuração, consulte Verificar se a pré-autenticação Kerberos está habilitada. Para obter informações gerais sobre essa configuração, vá para Preauthentication
na Microsoft TechNet. - Tipos de criptografia
-
O AD Connector é compatível com os seguintes tipos de criptografia ao fazer a autenticação via Kerberos em seus controladores de domínio do Active Directory:
-
AES-256-HMAC
-
AES-128-HMAC
-
RC4-HMAC
-
Pré-requisitos da AWS IAM Identity Center
Se você planeja usar o Centro de Identidade do IAM com o AD Connector, é necessário garantir que o seguinte seja verdadeiro:
-
Seu AD Connector está configurado na conta de gerenciamento da sua organização da AWS.
-
Sua instância do Centro de Identidade do IAM está na mesma região em que o AD Connector está configurado.
Para obter mais informações, consulte Pré-requisitos do Centro de Identidade do IAM no Guia do usuário do AWS IAM Identity Center.
Pré-requisitos da autenticação multifator
Para oferecer suporte à autenticação multifator com o seu diretório do AD Connector, é necessário o seguinte:
-
Um servidor Remote Authentication Dial-In User Service
(RADIUS) na sua rede existente que tenha dois endpoints clientes. Os endpoints clientes do RADIUS têm os seguintes requisitos: -
Para criar os endpoints, são necessários os endereços IP dos servidores do AWS Directory Service. Esses endereços IP podem ser obtidos no campo Directory IP Address dos detalhes do seu diretório.
-
Ambos os endpoints do RADIUS devem usar o mesmo código secreto compartilhado.
-
-
Sua rede existente deve permitir tráfego de entrada pela porta do servidor RADIUS padrão (1812) dos servidores do AWS Directory Service.
-
Os nomes de usuário entre o servidor RADIUS e o diretório existente devem ser idênticos.
Para obter mais informações sobre como usar o AD Connector com MFA, consulte Como habilitar a autenticação multifator para o AD Connector.
Delegar privilégios para sua conta de serviço
Para se conectar ao seu diretório existente, é necessário ter as credenciais para sua conta de serviço do AD Connector no diretório existente com determinados privilégios delegados a elas. Embora os membros do grupo Domain Admins (Administradores do domínio) tenham privilégios suficientes para se conectar ao diretório, como uma melhor prática, use uma conta de serviço que tenha apenas os privilégios mínimos necessários para conectar-se ao diretório. O procedimento a seguir demonstra como criar um novo grupo chamado Connectors
, delegar os privilégios necessários para conectar o AWS Directory Service a esse grupo e adicionar uma nova conta de serviço a ele.
Este procedimento deve ser executado em uma máquina que esteja integrada ao seu diretório e tenha o snap-in do MMC Active Directory User and Computers (Usuário e computadores do Active Directory) instalado. Você também deve estar conectado como administrador de domínio.
Para delegar privilégios para sua conta de serviço
-
Abra Active Directory User and Computers (Usuário e computadores do Active Directory) e selecione a raiz do domínio na árvore de navegação.
-
Na lista no painel de trabalho à esquerda, clique com o botão direito do mouse sobre Users, selecione New e selecione Group.
-
Na caixa de diálogo New Object - Group, digite o que está a seguir e clique em OK.
Campo Valor/Seleção Group name Connectors
Escopo do grupo Global Tipo de grupo Segurança -
Na árvore de navegação Usuários e Computadores do Active Directory, selecione identificar a Unidade Organizacional (UO) na qual as contas de computador serão criadas. No menu, selecione Action e Delegate Control. Você pode selecionar uma UO principal até o domínio à medida que as permissões se propagam para as UOs secundárias. Se o AD Connector estiver conectado ao AWS Managed Microsoft AD, você não terá acesso para delegar controle no nível raiz do domínio. Nesse caso, para delegar o controle, selecione a UO na UO do diretório em que os objetos do seu computador serão criados.
-
Na página Delegation of Control Wizard, clique em Next e em Add.
-
Na caixa de diálogo Select Users, Computers, or Groups (Selecionar usuários, computadores ou grupos), digite
Connectors
e clique em OK. Se mais de um objeto for encontrado, selecione o grupoConnectors
criado acima. Clique em Next. -
Na página Tasks to Delegate, selecione Create a custom task to delegate e escolha Next.
-
Selecione Only the following objects in the folder e selecione Computer objects e User objects.
-
Selecione Create selected objects in this folder e Delete selected objects in this folder. Em seguida, escolha Próximo.
-
Selecione Read (Ler) e depois escolha Next (Próximo).
nota
Caso pretenda utilizar a associação direta a domínios ou o WorkSpaces, você também deverá habilitar as permissões de Gravação para que o Active Directory possa criar objetos de computador.
-
Verifique as informações da página Completing the Delegation of Control Wizard e clique em Finish.
-
Crie uma conta de usuário com uma senha forte e adicione o usuário ao grupo
Connectors
. Esse usuário será conhecido como a conta de serviço do AD Connector e, já que agora é um membro do grupoConnectors
, ele terá privilégios suficientes para conectar o AWS Directory Service ao diretório.
Testar o AD Connector
Para o AD Connector se conectar ao diretório existente, o firewall da rede existente deve ter certas portas abertas para os CIDRs de ambas as sub-redes na VPC. Para testar se essas condições são atendidas, execute as etapas a seguir:
Para testar a conexão com a
-
Inicie uma instância do Windows na VPC e conecte-se a ela por RDP. A instância deve ser membro do seu domínio existente. As etapas restantes são executadas nesta instância da VPC.
-
Baixe e descompacte a aplicativo de teste DirectoryServicePortTest. O código-fonte e os arquivos de projeto do Visual Studio são incluídos para que você possa modificar o aplicativo de teste, se desejar.
nota
Este script não tem suporte no Windows Server 2003 nem em um sistemas operacionais mais antigos.
-
Pelo prompt de comando do Windows, execute a aplicativo de teste DirectoryServicePortTest com as seguintes opções:
nota
O aplicativo de teste DirectoryServicePortTest só pode ser usado quando os níveis funcionais de domínio e floresta são definidos para Windows Server 2012 R2 e anteriores.
DirectoryServicePortTest.exe -d
<domain_name>
-ip<server_IP_address>
-tcp "53,88,389" -udp "53,88,389"<domain_name>
-
O nome de domínio totalmente qualificado. Ele é usado para testar os níveis funcionais de floresta e domínio. Se você excluir o nome do domínio, os níveis funcionais não serão testados.
<server_IP_address>
-
O endereço IP de um controlador de domínio no seu domínio existente. As portas serão testadas com relação a esse endereço IP. Se você excluir o endereço IP, as portas não serão testadas.
Este aplicativo de testes determina se as portas necessárias estão abertas na VPC para seu domínio e também verifica os níveis funcionais mínimos de floresta e domínio.
A saída será semelhante ao seguinte:
Testing forest functional level. Forest Functional Level = Windows2008R2Forest : PASSED Testing domain functional level. Domain Functional Level = Windows2008R2Domain : PASSED Testing required TCP ports to
<server_IP_address>
: Checking TCP port 53: PASSED Checking TCP port 88: PASSED Checking TCP port 389: PASSED Testing required UDP ports to<server_IP_address>
: Checking UDP port 53: PASSED Checking UDP port 88: PASSED Checking UDP port 389: PASSED
O seguinte é o código-fonte do aplicativo DirectoryServicePortTest.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading.Tasks; using System.DirectoryServices.ActiveDirectory; using System.Threading; using System.DirectoryServices.AccountManagement; using System.DirectoryServices; using System.Security.Authentication; using System.Security.AccessControl; using System.Security.Principal; namespace DirectoryServicePortTest { class Program { private static List<int> _tcpPorts; private static List<int> _udpPorts; private static string _domain = ""; private static IPAddress _ipAddr = null; static void Main(string[] args) { if (ParseArgs(args)) { try { if (_domain.Length > 0) { try { TestForestFunctionalLevel(); TestDomainFunctionalLevel(); } catch (ActiveDirectoryObjectNotFoundException) { Console.WriteLine("The domain {0} could not be found.\n", _domain); } } if (null != _ipAddr) { if (_tcpPorts.Count > 0) { TestTcpPorts(_tcpPorts); } if (_udpPorts.Count > 0) { TestUdpPorts(_udpPorts); } } } catch (AuthenticationException ex) { Console.WriteLine(ex.Message); } } else { PrintUsage(); } Console.Write("Press <enter> to continue."); Console.ReadLine(); } static void PrintUsage() { string currentApp = Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location); Console.WriteLine("Usage: {0} \n-d <domain> \n-ip \"<server IP address>\" \n[-tcp \"<tcp_port1>,<tcp_port2>,etc\"] \n[-udp \"<udp_port1>,<udp_port2>,etc\"]", currentApp); } static bool ParseArgs(string[] args) { bool fReturn = false; string ipAddress = ""; try { _tcpPorts = new List<int>(); _udpPorts = new List<int>(); for (int i = 0; i < args.Length; i++) { string arg = args[i]; if ("-tcp" == arg | "/tcp" == arg) { i++; string portList = args[i]; _tcpPorts = ParsePortList(portList); } if ("-udp" == arg | "/udp" == arg) { i++; string portList = args[i]; _udpPorts = ParsePortList(portList); } if ("-d" == arg | "/d" == arg) { i++; _domain = args[i]; } if ("-ip" == arg | "/ip" == arg) { i++; ipAddress = args[i]; } } } catch (ArgumentOutOfRangeException) { return false; } if (_domain.Length > 0 || ipAddress.Length > 0) { fReturn = true; } if (ipAddress.Length > 0) { _ipAddr = IPAddress.Parse(ipAddress); } return fReturn; } static List<int> ParsePortList(string portList) { List<int> ports = new List<int>(); char[] separators = {',', ';', ':'}; string[] portStrings = portList.Split(separators); foreach (string portString in portStrings) { try { ports.Add(Convert.ToInt32(portString)); } catch (FormatException) { } } return ports; } static void TestForestFunctionalLevel() { Console.WriteLine("Testing forest functional level."); DirectoryContext dirContext = new DirectoryContext(DirectoryContextType.Forest, _domain, null, null); Forest forestContext = Forest.GetForest(dirContext); Console.Write("Forest Functional Level = {0} : ", forestContext.ForestMode); if (forestContext.ForestMode >= ForestMode.Windows2003Forest) { Console.WriteLine("PASSED"); } else { Console.WriteLine("FAILED"); } Console.WriteLine(); } static void TestDomainFunctionalLevel() { Console.WriteLine("Testing domain functional level."); DirectoryContext dirContext = new DirectoryContext(DirectoryContextType.Domain, _domain, null, null); Domain domainObject = Domain.GetDomain(dirContext); Console.Write("Domain Functional Level = {0} : ", domainObject.DomainMode); if (domainObject.DomainMode >= DomainMode.Windows2003Domain) { Console.WriteLine("PASSED"); } else { Console.WriteLine("FAILED"); } Console.WriteLine(); } static List<int> TestTcpPorts(List<int> portList) { Console.WriteLine("Testing TCP ports to {0}:", _ipAddr.ToString()); List<int> failedPorts = new List<int>(); foreach (int port in portList) { Console.Write("Checking TCP port {0}: ", port); TcpClient tcpClient = new TcpClient(); try { tcpClient.Connect(_ipAddr, port); tcpClient.Close(); Console.WriteLine("PASSED"); } catch (SocketException) { failedPorts.Add(port); Console.WriteLine("FAILED"); } } Console.WriteLine(); return failedPorts; } static List<int> TestUdpPorts(List<int> portList) { Console.WriteLine("Testing UDP ports to {0}:", _ipAddr.ToString()); List<int> failedPorts = new List<int>(); foreach (int port in portList) { Console.Write("Checking UDP port {0}: ", port); UdpClient udpClient = new UdpClient(); try { udpClient.Connect(_ipAddr, port); udpClient.Close(); Console.WriteLine("PASSED"); } catch (SocketException) { failedPorts.Add(port); Console.WriteLine("FAILED"); } } Console.WriteLine(); return failedPorts; } } }
Criar um AD Connector
Para se conectar ao seu diretório existente com o AD Connector, siga as etapas a seguir. Antes de iniciar este procedimento, verifique se você concluiu os pré-requisitos identificados em Pré-requisitos do AD Connector.
nota
Não é possível criar um AD Connector com um modelo do Cloud Formation.
Para se conectar com o AD Connector
-
No painel de navegação do console do AWS Directory Service
, escolha Diretórios e escolha Configurar diretório. -
Na página Selecionar tipo do diretório, selecione AD Connector e, em seguida, selecione Próximo.
-
Na página Enter AD Connector information (Inserir informações do AD Connector), forneça as seguintes informações:
- Tamanho do diretório
-
Selecione a opção de tamanho Small (Pequeno) ou Large (Grande). Para obter mais informações sobre os tamanhos, consulte AD Connector.
- Descrição do diretório
-
Uma descrição opcional do diretório.
-
Na página Choose VPC and subnets (Selecionar VPC e sub-redes), forneça as seguintes informações e selecione Next (Próximo).
- VPC
-
A VPC do diretório.
- Subredes
-
Selecione as sub-redes para os controladores de domínio. As duas sub-redes deve estar em diferentes zonas de disponibilidade.
-
Na página Connect to AD (Conectar ao AD), forneça as seguintes informações:
- Nome do DNS do diretório
-
O nome completo do seu diretório existente, como
corp.example.com
. - Nome de NetBIOS do diretório
-
O nome curto do seu diretório existente, como
CORP
. - Endereços IP do DNS
-
O endereço IP de pelo menos um servidor DNS em seu diretório existente. Esses servidores devem ser acessados a partir de cada sub-rede especificada na etapa 4. Esses servidores podem estar localizados fora da AWS, desde que haja conectividade de rede entre as sub-redes especificadas e os endereços IP do servidor DNS.
- Nome de usuário da conta de serviço
-
O nome de usuário de um usuário no diretório existente. Para obter mais informações sobre esta conta, consulte Pré-requisitos do AD Connector.
- Senha da conta de serviço
-
A senha para a conta de usuário existente. Essa senha diferencia maiúsculas de minúsculas e deve ter entre 8 e 128 caracteres, inclusive. Ela também precisa conter pelo menos um caractere de três das quatro categorias a seguir:
-
Letras minúsculas (a-z)
-
Letras maiúsculas (A-Z)
-
Números (0-9)
-
Caracteres não alfanuméricos (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)
-
- Confirmar senha
-
Digite novamente a senha para a conta de usuário existente.
-
Na página Review & create (Revisar e criar), analise as informações do diretório e faça as alterações necessárias. Quando as informações estiverem corretas, escolha Create directory (Criar diretório). A criação do diretório leva vários minutos. Depois de criado, o valor de Status é alterado para Ativo.
Para obter mais informações sobre o que é criado com o AD Connector, consulte O que é criado com seu AD Connector.