

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

# Remova EC2 as entradas da Amazon na mesma forma Conta da AWS AWS Managed Microsoft AD usando a AWS Lambda automação
<a name="remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad"></a>

*Dr. Rahul Sharad Gaikwad e Tamilselvan P, Amazon Web Services*

## Resumo
<a name="remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad-summary"></a>

O Active Directory (AD) é uma ferramenta de script da Microsoft que gerencia as informações do domínio e as interações do usuário com os serviços de rede. É amplamente usado entre provedores de serviços gerenciados (MSPs) para gerenciar credenciais de funcionários e permissões de acesso. Como invasores do AD podem explorar contas inativas para tentar invadir uma organização, é essencial identificar essas contas e desativá-las usando um cronograma de manutenção regular. Com AWS Directory Service for Microsoft Active Directory, você pode executar o Microsoft Active Directory como um serviço gerenciado. 

Esse padrão pode ajudar você a configurar a AWS Lambda automação para encontrar e remover rapidamente contas inativas. Quando você usa esse padrão, pode alcançar os seguintes benefícios:
+ Melhore a performance do banco de dados e dos servidores, além de corrigir vulnerabilidades de segurança causadas por contas inativas.
+ Se o seu servidor do AD estiver hospedado na nuvem, a remoção de contas inativas também pode reduzir custos de armazenamento enquanto otimiza a performance. Os custos mensais podem diminuir devido à redução tanto de taxas de largura de banda quanto de recursos de processamento.
+ Prevenção de atacantes em potencial com um Active Directory limpo.

## Pré-requisitos e limitações
<a name="remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS.
+ Git [instalado](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) e configurado em uma estação de trabalho local.
+ Terraform [instalado](https://learn.hashicorp.com/tutorials/terraform/install-cli) e configurado em uma estação de trabalho local.
+ Computador Windows com módulos do Active Directory (`ActiveDirectory`).
+ Um diretório AWS Managed Microsoft AD e credenciais armazenadas em um [AWS Systems Manager parâmetro no Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-create-console.html).
+ AWS Identity and Access Management Função (IAM) com permissões para a Serviços da AWS listada em [Ferramentas](#remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad-tools)*.* Para obter mais informações sobre o IAM, consulte [Recursos relacionados](#remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad-resources).

**Limitações**
+ Esse padrão não é compatível com a configuração de várias contas.
+ Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte [Serviços da AWS by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e clique no link correspondente ao serviço desejado.

**Versões do produto**
+ [Terraform versão 1.1.9 ou posterior](https://developer.hashicorp.com/terraform/install)
+ [Terraform AWS Provider versão 3.0 ou superior](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/version-3-upgrade)

## Arquitetura
<a name="remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad-architecture"></a>

O diagrama a seguir mostra o fluxo de trabalho e os componentes da arquitetura desse padrão.

![Processo para usar a automação Lambda para remover EC2 entradas do Microsoft AD gerenciado.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/6b50dcc5-4f4b-4eea-85a7-04cebc9f7454/images/b7fc5962-bfb8-4f5a-968e-7487b1d48c4f.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. A Amazon EventBridge aciona a AWS Lambda função com base em uma expressão cron. (Para esse padrão, a programação da expressão cron é uma vez por dia.)

1. A função e a política necessárias do IAM são criadas e anexadas AWS Lambda por meio do Terraform.

1. A AWS Lambda função é executada e chama os grupos do Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling Groups usando o módulo de inicialização do Python. A função Lambda obtém o ID da instância aleatória. O ID da instância é usado para executar AWS Systems Manager comandos.

1. AWS Lambda faz outra chamada para a Amazon EC2 usando o módulo boto e obtém os endereços IP privados dos servidores Windows em execução e armazena os endereços em uma variável temporária.

1. AWS Lambda faz outra chamada para o Systems Manager para obter as informações do computador ao qual está conectado Directory Service.

1. Um AWS Systems Manager documento ajuda a executar o PowerShell script nos servidores Amazon EC2 Windows para obter os endereços IP privados dos computadores conectados ao AD.

1. O nome de usuário e as senhas do domínio AD são armazenados no AWS Systems Manager Parameter Store. AWS Lambda e o Systems Manager fazem uma chamada para o Parameter Store e obtêm os valores de nome de usuário e senha a serem usados para conectar o AD.

1. Usando o documento Systems Manager, o PowerShell script é executado no servidor Amazon EC2 Windows usando o ID da instância obtido anteriormente na etapa 3.

1. A Amazon EC2 se conecta Directory Service usando PowerShell comandos e remove os computadores que não estão em uso ou inativos.

## Ferramentas
<a name="remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad-tools"></a>

**Serviços da AWS**
+ [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html)fornece várias maneiras de usar o Microsoft Active Directory (AD) com outros Serviços da AWS , como Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (Amazon RDS) para SQL Server e FSx Amazon para Windows File Server.
+ [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)permite que suas cargas de trabalho e AWS recursos com reconhecimento de diretório usem o Microsoft Active Directory no. Nuvem AWS
+ [O Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fornece capacidade de computação escalável no. Nuvem AWS Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+  EventBridgeA [Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) é um serviço de ônibus de eventos sem servidor que ajuda você a conectar seus aplicativos com dados em tempo real de várias fontes. Por exemplo, AWS Lambda funções, endpoints de invocação HTTP usando destinos de API ou barramentos de eventos em outros. Contas da AWS
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los. Com o IAM, você pode especificar em quem ou o que pode acessar serviços e recursos AWS, gerenciar centralmente permissões refinadas e analisar o acesso para refinar as permissões. AWS
+ O [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.
+ O [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) ajuda você a gerenciar suas aplicações e infraestrutura em execução na Nuvem AWS. Ele simplifica o gerenciamento de aplicativos e recursos, reduz o tempo para detectar e resolver problemas operacionais e ajuda você a gerenciar seus AWS recursos com segurança em grande escala.
+ [AWS Systems Manager os documentos](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents.html) definem as ações que o Systems Manager executa em suas instâncias gerenciadas. O Systems Manager inclui mais de 100 documentos pré-configurados, que você pode usar especificando parâmetros no runtime.
+ AWS Systems Manager O [Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) é um recurso AWS Systems Manager e fornece armazenamento seguro e hierárquico para gerenciamento de dados de configuração e gerenciamento de segredos.

**Outras ferramentas**
+ [HashiCorp O Terraform](https://www.terraform.io/docs) é uma ferramenta de infraestrutura de código aberto como código (IaC) que ajuda você a usar o código para provisionar e gerenciar a infraestrutura e os recursos da nuvem.
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)é um programa de gerenciamento de automação e configuração da Microsoft executado em Windows, Linux e macOS.
+ [Python](https://www.python.org/) é uma linguagem de programação de computador de uso geral.

****Repositório de código** C**

O código desse padrão está disponível no repositório da [solução GitHub Custom AD Cleanup Automation](https://github.com/aws-samples/aws-lambda-ad-cleanup-terraform-samples/). 

## Práticas recomendadas
<a name="remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad-best-practices"></a>
+ **Ingressar em domínios automaticamente. **Ao iniciar uma instância do Windows que fará parte de um Directory Service domínio, entre no domínio durante o processo de criação da instância, em vez de adicioná-la manualmente posteriormente. Para ingressar automaticamente em um domínio, selecione o diretório correto na lista suspensa **Diretório de ingresso em domínio** ao executar uma nova instância. Para obter mais detalhes, consulte [Unir perfeitamente uma instância EC2 do Amazon Windows ao seu AWS Managed Microsoft AD Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/launching_instance.html) no *Guia de Directory Service Administração*.
+ **Exclua contas que não são utilizadas. **É comum encontrar contas no AD que nunca foram usadas. Assim como contas desabilitadas ou inativas que permanecem no sistema, contas que não estão sendo usadas e são negligenciadas podem diminuir a performance do seu sistema do AD ou tornar a organização vulnerável a vazamentos de dados.
+ **Automatize as limpezas do Active Directory. **Para ajudar a mitigar os riscos de segurança e evitar que contas obsoletas impactem a performance do AD, conduza limpezas do AD em intervalos regulares. É possível concluir a maioria das tarefas de gerenciamento e de limpeza do AD por meio da gravação de scripts. Exemplos de tarefas incluem remover contas desabilitadas e inativas, excluir grupos vazios e inativos, e localizar contas de usuário e senhas expiradas. 

## Épicos
<a name="remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad-epics"></a>

### Configurar o ambiente
<a name="set-up-your-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma pasta de projeto e adicione os arquivos. | Para clonar o repositório e criar uma pasta para o projeto, faça o seguinte: [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad.html) | DevOps engenheiro | 

### Provisione a arquitetura de destino usando a configuração do Terraform
<a name="provision-the-target-architecture-by-using-the-terraform-configuration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicialize a configuração do Terraform. | Para inicializar seu diretório de trabalho que contém os arquivos do Terraform, execute o comando a seguir.<br />`terraform init` | DevOps engenheiro | 
| Pré-visualize as alterações. | É possível visualizar previamente as alterações que o Terraform fará na infraestrutura antes que ela seja implantada. Para validar se o Terraform fará as alterações conforme necessário, execute o comando a seguir.<br />`terraform plan` | DevOps engenheiro | 
| Coloque em prática as ações propostas. | Para verificar se os resultados do comando `terraform plan` estão conforme o esperado, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad.html) | DevOps engenheiro | 
| Limpe a infraestrutura. | Para limpar a infraestrutura que você criou, use o comando a seguir.<br />`terraform destroy`<br />Para confirmar o comando destroy, digite`yes`. | DevOps engenheiro | 

### Verificar a implantação
<a name="verify-the-deployment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute e teste a função do Lambda. | Para verificar se a implantação ocorreu com êxito, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad.html)<br />Os resultados da execução mostram a saída da função. | DevOps engenheiro | 
| Veja os resultados da função Lambda. | Nesse padrão, uma EventBridge regra executa a função Lambda uma vez por dia. Para visualizar os resultados da função Lambda, faça o seguinte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad.html)<br />No CloudWatch console, a página de **grupos de registros** mostra os resultados da função Lambda. | DevOps engenheiro | 

### Limpar a infraestrutura após o uso
<a name="clean-up-infrastructure-after-use"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Limpe a infraestrutura. | Para limpar a infraestrutura que você criou, use o comando a seguir.<br />`terraform destroy`<br />Para confirmar o comando destroy, digite`yes`. | DevOps engenheiro | 
| Realize uma verificação após o procedimento de limpeza. | Verifique se os recursos foram removidos com êxito. | DevOps engenheiro | 

## Solução de problemas
<a name="remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Se você tentar remover o computador do AD, receberá a mensagem “Acesso negado”. O computador do AD não pode ser removido porque, por padrão, a ação tenta remover dois endereços IP privados que estão conectados como parte dos serviços do AD. | Para evitar esse erro, use a operação Python a seguir para ignorar os dois primeiros computadores ao listar as diferenças entre a saída de um computador AD e a saída da sua máquina executando o Windows.<pre>Difference = Difference[2:]</pre> | 
| Quando o Lambda executa um PowerShell script em um servidor Windows, ele espera que os módulos do Active Directory estejam disponíveis por padrão. Se os módulos não estiverem disponíveis, uma função Lambda cria um erro que indica “Get- não AdComputer está instalado na instância”. | Para evitar esse erro, instale os módulos necessários usando os dados do usuário das EC2 instâncias. Use o [EC2WindowsUserdata](https://github.com/aws-samples/aws-lambda-ad-cleanup-terraform-samples/blob/main/EC2WindowsUserdata)script que está no GitHub repositório desse padrão. | 

## Recursos relacionados
<a name="remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad-resources"></a>

**AWS documentação**
+ [Amazon EventBridge e AWS Identity and Access Management](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-iam.html)
+ [Configurar permissões de instância obrigatórias para o Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html)
+ [Gerenciamento de identidade e acesso para Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/iam_auth_access.html)
+ [Associe manualmente uma instância EC2 do Amazon Windows ao seu AWS Managed Microsoft AD Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/join_windows_instance.html)
+ [Trabalhando com políticas de IAM baseadas em identidade em AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-identity-based.html)

**Outros recursos**
+ [AWS Provedor](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) (documentação do Terraform)
+ [Backend Configuration](https://developer.hashicorp.com/terraform/language/backend) (documentação do Terraform)
+ [Install Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli) (documentação do Terraform)
+ [Python boto module](https://pypi.org/project/boto/) (repositório Python Package Index)
+ [Terraform binary download](https://www.terraform.io/downloads) (documentação do Terraform)