Como usar a infraestrutura como código (IaC) com agentes de segurança automatizados do GuardDuty
Use esta seção somente se a seguinte lista se aplicar ao seu caso de uso:
-
Você usa ferramentas de Infraestrutura como Código (IaC), como AWS Cloud Development Kit (AWS CDK) e Terraform, para gerenciar seus AWS recursos e
-
É preciso habilitar a configuração de agente automatizado do GuardDuty para um ou mais tipos de recursos: Amazon EKS, Amazon EC2 ou Amazon ECS-Fargate.
Visão geral do gráfico de dependência de recursos da IaC
Ao ativar a configuração de agente automatizado do GuardDuty para um tipo de recurso, o GuardDuty cria automaticamente um endpoint da VPC e um grupo de segurança associado a este endpoint da VPC e instala o agente de segurança para este tipo de recurso. Por padrão, o GuardDuty excluirá o endpoint da VPC e o grupo de segurança associado somente depois que você desativar o Monitoramento de runtime. Para obter mais informações, consulte Desativação, desinstalação e remoção de recursos no Monitoramento de runtime.
Quando uma ferramenta de IaC é usada, ela mantém um gráfico de dependência dos recursos. No momento da exclusão dos recursos usando a ferramenta IaC, ela exclui apenas os recursos que podem ser rastreados como parte do gráfico de dependência dos recursos. As ferramentas IaC podem não conhecer os recursos criados fora da configuração especificada. Por exemplo, você cria uma VPC com uma ferramenta de IaC e, em seguida, adiciona um grupo de segurança a essa VPC usando o console AWS ou uma operação de API. No gráfico de dependência de recursos, o recurso da VPC criada depende do grupo de segurança associado. Ao excluir esse recurso da VPC usando a ferramenta IaC, um erro será gerado. A maneira de contornar esse erro é excluir manualmente o grupo de segurança associado ou atualizar a configuração da IaC para incluir esse recurso adicional.
Problema comum - Como excluir recursos na IaC
Ao usar a configuração do agente automatizado GuardDuty, é possível que se queira excluir um recurso (Amazon EKS, Amazon EC2 ou Amazon ECS-Fargate) criado usando uma ferramenta IaC. No entanto, esse recurso depende de um endpoint da VPC criado pelo GuardDuty. Isso impede que a ferramenta IaC exclua o recurso sozinha e exige que você desative o Monitoramento de runtime, que exclua ainda mais o endpoint da VPC automaticamente.
Por exemplo, ao tentar excluir o endpoint da VPC que o GuardDuty criou em seu nome, você receberá um erro semelhante aos exemplos a seguir.
Exemplo de erro ao usar o CDK
The following resource(s) failed to delete: [
mycdkvpcapplicationpublicsubnet1Subnet1SubnetEXAMPLE1
,mycdkvpcapplicationprivatesubnet1Subnet2SubnetEXAMPLE2
]. Resource handler returned message: "The subnet 'subnet-APKAEIVFHP46CEXAMPLE
' has dependencies and cannot be deleted. (Service: Ec2, Status Code: 400, Request ID:e071c3c5-7442-4489-838c-0dfc6EXAMPLE
)" (RequestToken:4381cff8-6240-208a-8357-5557b7EXAMPLE
, HandlerErrorCode: InvalidRequest)
Exemplo de erro ao usar o Terraform
module.vpc.aws_subnet.private[1]: Still destroying... [id=subnet-
APKAEIVFHP46CEXAMPLE
, 19m50s elapsed] module.vpc.aws_subnet.private[1]: Still destroying... [id=subnet-APKAEIVFHP46CEXAMPLE
, 20m0s elapsed] Error: deleting EC2 Subnet (subnet-APKAEIBAERJR2EXAMPLE
): DependencyViolation: The subnet 'subnet-APKAEIBAERJR2EXAMPLE
' has dependencies and cannot be deleted. status code: 400, request id:e071c3c5-7442-4489-838c-0dfc6EXAMPLE
Solução - Evite o problema de exclusão de recursos
Esta seção ajuda você a gerenciar o endpoint da VPC e o grupo de segurança independentemente do GuardDuty.
Para obter a propriedade total dos recursos configurados usando a ferramenta IaC, execute as seguintes etapas na ordem listada:
-
Crie uma VPC. Para conceder a permissão de entrada, associe um endpoint da VPC GuardDuty com grupo de segurança a essa VPC.
-
Ative a configuração de agente automatizado do GuardDuty para seu tipo de recurso
Depois de concluir as etapas anteriores, o GuardDuty não criará seu próprio endpoint de VPC e reutilizará o que você criou usando a ferramenta IaC.
Para obter informações sobre como criar sua própria VPC, consulte Criar uma VPC somente nos Gateways de trânsito da Amazon VPC. Para obter informações sobre como criar um endpoint da VPC, consulte a seção a seguir sobre o tipo de recurso:
-
Para o Amazon EC2, consulte Pré-requisito — Criando um endpoint da Amazon VPC manualmente.
-
Para o Amazon EKS, consulte Pré-requisito — Como criar um endpoint da VPC da Amazon.