turbot/steampipe-mod-aws-compliance

Control: EC2 launch templates should use Instance Metadata Service Version 2 (IMDSv2)

Description

This control checks whether an Amazon EC2 launch template is configured with Instance Metadata Service Version 2 (IMDSv2). The control fails if HttpTokens is set to optional.

Usage

Run the control in your terminal:

powerpipe control run aws_compliance.control.ec2_launch_template_default_version_uses_imdsv2

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run aws_compliance.control.ec2_launch_template_default_version_uses_imdsv2 --share

SQL

This control uses a named query:

select
launch_template_id as resource,
case
when launch_template_data -> 'MetadataOptions' ->> 'HttpTokens' = 'required' then 'ok'
else 'alarm'
end as status,
case
when launch_template_data -> 'MetadataOptions' ->> 'HttpTokens' = 'required' then title || ' configured to use Instance Metadata Service Version 2 (IMDSv2).'
else title || ' not configured to use Instance Metadata Service Version 2 (IMDSv2).'
end as reason
, region, account_id
from
aws_ec2_launch_template_version
where
default_version;

Tags