Conceitos básicos do AD Connector - AWS Directory Service

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, você pode se conectar AWS Directory Service à sua empresa existente Active Directory. Quando conectado ao diretório existente, todos os dados do diretório permanecem nos controladores de domínio. AWS Directory Service não replica nenhum dos dados do seu 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 um VPC com o seguinte:

  • Pelo menos duas sub-redes. Cada uma das sub-redes deve estar em uma zona de disponibilidade diferente.

  • Eles VPC devem estar conectados à sua rede existente por meio de uma conexão de rede virtual privada (VPN) ou AWS Direct Connect.

  • Eles VPC devem ter locação de hardware padrão.

AWS Directory Service usa uma VPC estrutura dupla. As EC2 instâncias que compõem seu diretório são executadas fora da sua AWS conta e são gerenciadas pelo AWS. Elas têm dois adaptadores de rede ETH0 e ETH1. 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 programaticamente para garantir que não entre em conflito com o VPC local 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 ETH1CIDR. Se começar com 10, escolhemos 192.168.0.0/16 com sub-redes 192.168.1.0/24 e 192.168.2.0/24VPC. Se o primeiro octeto for diferente de 10, escolhemos 10.0.0.0/16 VPC com sub-redes 10.0.1.0/24 e 10.0.2.0/24.

O algoritmo de seleção não inclui rotas em seuVPC. Portanto, é possível que um conflito de roteamento IP resulte desse cenário.

Para obter mais informações, consulte os seguintes tópicos no Guia do VPC usuário da Amazon:

Para obter mais informações sobre AWS Direct Connect, consulte o Guia AWS Direct Connect do usuário.

Existente Active Directory

Você precisará se conectar a uma rede existente com um Active Directory domínio.

nota

O AD Connector não é compatível com domínios de rótulo único.

O nível funcional deste Active Directory o domínio deve ser Windows Server 2003 ou superior. O AD Connector também suporta a conexão com um domínio hospedado em uma EC2 instância da Amazon.

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 de domínio da AmazonEC2.

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 - Obrigatório somente ao usar o Seamless Domain Join e WorkSpaces

  • Crie objetos de computador - Obrigatório somente ao usar o Seamless Domain Join e WorkSpaces

  • A senha da conta de serviço deve estar em conformidade com os requisitos de AWS senha. AWS as senhas devem ser:

    • Entre 8 e 128 caracteres, inclusive.

    • Contenha 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 (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)

Para obter 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 . LDAPé usado somente para pesquisas de objetos de usuários e grupos (operações de leitura). Com as LDAP transações, nada é mutável e as credenciais não são passadas em texto não criptografado. A autenticação é feita por um serviço AWS interno, que usa tíquetes Kerberos para realizar LDAP operações 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 DNS servidores ou controladores de domínio em seu diretório existente.

O AD Connector obtém os _kerberos._tcp.<DnsDomainName> SRV registros _ldap._tcp.<DnsDomainName> e desses servidores ao se conectar ao seu diretório, portanto, esses servidores devem conter esses SRV registros. O AD Connector tenta encontrar um controlador de domínio comum que forneça os serviços do Kerberos LDAP e, portanto, esses SRV registros devem incluir pelo menos um controlador de domínio comum. Para obter mais informações sobre SRV registros, acesse SRVResource Records na Microsoft TechNet.

Portas para sub-redes

Para que o AD Connector redirecione as solicitações de diretório para suas solicitações existentes Active Directory controladores de domínio, o firewall de sua rede existente deve ter as seguintes portas abertas CIDRs para ambas as sub-redes em sua Amazon. VPC

  • TCP/UDP53 - DNS

  • TCP/UDP88 - Autenticação Kerberos

  • TCP/UDP389 - 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 isableVLVSupport LDAP atributo D precisa ser definido como 0 para seus controladores de domínio. Essa é a configuração padrão para os controladores de domínio. O AD Connector não poderá consultar usuários no diretório se o isableVLVSupport LDAP atributo D estiver ativado. Isso impede que o AD Connector funcione com Amazon WorkSpaces o.

nota

Se os DNS servidores ou servidores do controlador de domínio existentes Active Directory Os domínios estão dentro doVPC, os grupos de segurança associados a esses servidores devem ter as portas acima abertas para o CIDRs para ambas as sub-redes no. VPC

Para obter requisitos adicionais de porta, consulte Requisitos de porta do AD e do AD DS em Microsoft documentação.

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, acesse Pré-autenticação em 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

AWS IAM Identity Center pré-requisitos

Se você planeja usar o IAM Identity Center com o AD Connector, você precisa garantir que o seguinte seja verdadeiro:

  • Seu AD Connector está configurado na conta de gerenciamento da sua AWS organização.

  • Sua instância do IAM Identity Center está na mesma região em que seu AD Connector está configurado.

Para obter mais informações, consulte os pré-requisitos do IAM Identity Center no Guia do AWS IAM Identity Center usuário.

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) em sua rede existente que tem dois endpoints de cliente. Os endpoints RADIUS do cliente 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 RADIUS endpoints devem usar o mesmo código secreto compartilhado.

  • Sua rede existente deve permitir o tráfego de entrada dos servidores pela porta padrão RADIUS do servidor (1812). AWS Directory Service

  • Os nomes de usuário entre seu RADIUS servidor e seu diretório existente devem ser idênticos.

Para obter mais informações sobre como usar o AD Connector comMFA, consulteHabilitando 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 chamadoConnectors, delegar os privilégios necessários para se conectar AWS Directory Service a esse grupo e, em seguida, adicionar uma nova conta de serviço a esse grupo.

Esse procedimento deve ser executado em uma máquina que esteja associada ao seu diretório e tenha o MMC snap-in Usuários 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
  1. 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.

  2. Na lista no painel de trabalho à esquerda, clique com o botão direito do mouse sobre Users, selecione New e selecione Group.

  3. 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
  4. Na árvore de navegação Usuários e Computadores do Active Directory, selecione identificar a Unidade Organizacional (OU) na qual as contas de computador serão criadas. No menu, selecione Action e Delegate Control. Você pode selecionar uma OU principal até o domínio à medida que as permissões se propagam para a criançaOUs. 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.

  5. Na página Delegation of Control Wizard, clique em Next e em Add.

  6. 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 grupo Connectors criado acima. Clique em Next.

  7. Na página Tasks to Delegate, selecione Create a custom task to delegate e escolha Next.

  8. Selecione Only the following objects in the folder e selecione Computer objects e User objects.

  9. Selecione Create selected objects in this folder e Delete selected objects in this folder. Em seguida, escolha Próximo.

    Assistente de Delegação de Controle - Somente as seguintes opções de objetos na pasta, objetos de usuário, criar objetos selecionados nessa pasta e excluir objetos selecionados nessa pasta são selecionadas.
  10. Selecione Read (Ler) e depois escolha Next (Próximo).

    nota

    Se você estiver usando o Seamless Domain Join or WorkSpaces, você também deverá habilitar as permissões de gravação para que o Active Directory possa criar objetos de computador.

    Assistente de Delegação de Controle - Em Mostrar essas permissões, as opções geral, específica da propriedade e leitura são selecionadas.
  11. Verifique as informações da página Completing the Delegation of Control Wizard e clique em Finish.

  12. Crie uma conta de usuário com uma senha forte e adicione o usuário ao grupo Connectors. Esse usuário será conhecido como sua conta de serviço do AD Connector e, como agora é membro do Connectors grupo, agora tem privilégios suficientes para se conectar AWS Directory Service ao diretório.

Testar o AD Connector

Para que o AD Connector se conecte ao seu diretório existente, o firewall da sua rede existente deve ter certas portas abertas CIDRs para ambas as sub-redes no. VPC Para testar se essas condições são atendidas, execute as etapas a seguir:

Para testar a conexão com a
  1. Execute uma instância do Windows no VPC e conecte-se a ela novamenteRDP. A instância deve ser membro do seu domínio existente. As etapas restantes são executadas nessa VPC instância.

  2. Baixe e descompacte o aplicativo DirectoryServicePortTestde teste. 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.

  3. Pelo prompt de comando do Windows, execute a aplicativo de teste DirectoryServicePortTest com as seguintes opções:

    nota

    O aplicativo DirectoryServicePortTest de teste só pode ser usado quando os níveis funcionais do domínio e da floresta estão definidos para Windows Server 2012 R2 e versões 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.

    Esse aplicativo de teste determina se as portas necessárias estão abertas do VPC para o seu domínio e também verifica os níveis mínimos de funcionalidade da floresta e do 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
  1. No painel de navegação do console do AWS Directory Service, escolha Diretórios e escolha Configurar diretório.

  2. Na página Selecionar tipo do diretório, selecione AD Connector e, em seguida, selecione Próximo.

  3. 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.

  4. Na página Escolher VPC e sub-redes, forneça as informações a seguir e escolha Avançar.

    VPC

    O VPC para o diretório.

    Subredes

    Selecione as sub-redes para os controladores de domínio. As duas sub-redes deve estar em diferentes zonas de disponibilidade.

  5. Na página Connect to AD (Conectar ao AD), forneça as seguintes informações:

    DNSNome do diretório

    O nome completo do seu diretório existente, como corp.example.com.

    BIOSNome da rede do diretório

    O nome curto do seu diretório existente, como CORP.

    DNSEndereços IP

    O endereço IP de pelo menos um DNS servidor 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 do AWS, desde que haja conectividade de rede entre as sub-redes especificadas e os endereços IP do DNS servidor.

    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.

  6. 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 seu AD Connector, consulteO que é criado com seu AD Connector.