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 loginpowerpipe 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_idfrom aws_ec2_launch_template_versionwhere default_version;