Introduction

Amazon Inspector is a powerful vulnerability management service that continuously scans AWS workloads for security vulnerabilities. Integrating Amazon Inspector with Terraform in an AWS Control Tower Landing Zone ensures consistent, scalable, and automated security assessments across multiple AWS accounts.

This guide provides step-by-step instructions for configuring Amazon Inspector using Terraform while maintaining compliance and security best practices.

Prerequisites

Before configuring Amazon Inspector with Terraform, ensure the following prerequisites are met:

  • AWS Control Tower is deployed – AWS Control Tower manages multi-account environments.
  • Terraform is installed – Ensure the latest version of Terraform is installed on the system.
  • AWS CLI is configured – Verify access to AWS services with appropriate permissions.
  • IAM permissions – Ensure the necessary permissions for deploying Amazon Inspector using Terraform.

Step 1: Define Amazon Inspector in Terraform

Create a Terraform configuration file (inspector.tf) to define Amazon Inspector resources.

provider “aws” {

  region = “us-east-1” # Update as per requirements

}

resource “aws_inspector2_enabler” “example” {

  account_ids = [“111122223333”] # Replace with target account IDs

}

This Terraform script enables Amazon Inspector for the specified AWS accounts.

Step 2: Configure Amazon Inspector Findings Aggregation

Enable centralized findings aggregation in the AWS Security Hub to collect and manage vulnerability reports efficiently.

resource “aws_inspector2_aggregation” “example” {

  link_aws_account_id = “111122223333” # Management account ID

}

Step 3: Deploy Amazon Inspector with Terraform

Run the following Terraform commands to deploy the Amazon Inspector configuration:

terraform init

terraform plan

terraform apply -auto-approve

These commands initialize Terraform, create an execution plan, and apply the configuration.

Step 4: Verify Amazon Inspector Configuration

Once deployed, validate that Amazon Inspector is correctly configured by navigating to the AWS Console:

  1. Open the Amazon Inspector Dashboard.
  2. Verify the scanning status of workloads.
  3. Check findings in AWS Security Hub.

Step 5: Automate Remediation (Optional)

To automate remediation for security findings, create AWS Lambda functions and AWS Security Hub actions using Terraform:

resource “aws_lambda_function” “inspector_remediation” {

  function_name = “InspectorRemediationLambda”

  runtime      = “python3.8”

  role         = aws_iam_role.lambda_role.arn

  handler      = “lambda_function.lambda_handler”

}

This function can trigger automated actions based on security findings.

Conclusion

By configuring Amazon Inspector with Terraform in an AWS Control Tower Landing Zone, organizations can automate security assessments, improve vulnerability management, and ensure compliance with best practices. This integration enhances security posture while providing scalable and repeatable infrastructure deployment.