Project: ThreatMapper (Provisioning / Security & Compliance)
File: aws.md

title: AWS Log in to the AWS management console account and open the following url link to deploy Cloud Scanner using CloudFormation in `us-east-1` region. (Template URL: https://deepfence-public.s3.amazonaws.com/cloud-scanner/deepfence-cloud-scanner-org-common.template) Then, fill in the below parameters as needed: | | |::| | Cloud Scanner Configuration | | | |::| | Set Name | Log in to the AWS management console account and open the following url link to deploy Cloud Scanner using CloudFormation in `us-east-1` region. (Template URL: https://deepfence-public.s3.amazonaws.com/cloud-scanner/deepfence-cloud-scanner.template) Then, fill in the below parameters as needed: | | |::| | Cloud Scanner Configuration | | | |::| | Set Name | If you want to deploy Cloud Scanner in an existing VPC (say, for environment where the Deepfence Management Console can only be accessed via a private IP within the VPC), you need to fill in the following params: | | |::| | Choose VPC | You may want to configure CIDR blocks to avoid collision with existing CIDR blocks: | | |::| | Choose CIDRs | Cloud Scanner is deployed as a task within your AWS infrastructure. You need to configure Terraform with the appropriate resources and inputs for your particular scenario, and you will need to provide the IP address or DNS name for the ThreatMapper management console and an API key. Copy and paste the following into a new file cloud-scanner.tf. Edit the fields: region, mgmt-console-url and deepfence-key. ```shell provider "aws" { region = "us-east-1" } module "deepfence-cloud-scannerexamplesingle-account" { source = "deepfence/cloud-scanner/aws//examples/single-account-ecs" version = "0.4.0" name = "deepfence-cloud-scanner" mgmt-console-url = "<Console URL>" mgmt-console-port = "443" deepfence-key = "<Deepfence key>" image = "quay.io/deepfenceio/cloud-scanner:2.1.1" cpu = "4096" memory = "8192" ephemeral_storage = "100" task_role = "arn:aws:iam::aws:policy/SecurityAudit" debug_logs = false useexistingvpc = false existingvpcid = "" existingvpcsubnet_ids = [] tags = { product = "deepfence-cloud-scanner" } region = "us-east-1" ecsvpcregion_azs = ["us-east-1a"] cloudtrail_trails = [] } ``` Ensure that the `name` parameter is set to some unique string to avoid collision with existing resource names in the account of deployment Then run ```shell terraform init terraform plan terraform apply ``` For full details, refer to the GitHub repository: https://github.com/deepfence/terraform-aws-cloud-scanner/tree/main/examples/single-account-ecs For full details, refer to the GitHub repository: https://github.com/deepfence/terraform-aws-cloud-scanner/tree/main/examples/organizational-deploy-with-member-account-read-only-access-creation ThreatMapper builds on a large library of controls - these are specific requirements and matching tests. For example, you will find controls that correspond to best-practice configurations of access to assets, such as enabling TLS access and blocking plain-text HTTP. Controls are grouped into benchmarks. Where multiple benchmarks are available, controls may be used by several benchmarks. When you run a compliance scan, you can select which benchmarks you wish to measure against, and ThreatMapper will then evaluate the appropriate controls and present the results, by benchmark, once the scan has completed. For full information, refer to . :::tip Maximizing Coverage For maximum coverage, you can use both Cloud Scanner and local Sensor Agent compliance scans together. You could scan your AWS infrastructure using Cloud Scanner, and using the Sensor Agent. :::