turbot/steampipe-mod-terraform-aws-compliance

Control: EC2 instances should not have a public IP address

Description

Manage access to the AWS Cloud by ensuring Amazon Elastic Compute Cloud (Amazon EC2) instances cannot be publicly accessed.

Usage

Run the control in your terminal:

powerpipe control run terraform_aws_compliance.control.ec2_instance_not_publicly_accessible

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run terraform_aws_compliance.control.ec2_instance_not_publicly_accessible --share

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std -> 'associate_public_ip_address') is null then 'ok'
else 'alarm'
end status,
split_part(address, '.', 2) || case
when (attributes_std -> 'associate_public_ip_address') is null then ' not publicly accessible'
else ' publicly accessible'
end || '.' reason
, path || ':' || start_line
from
terraform_resource
where
type = 'aws_instance';

Tags