turbot/steampipe-mod-terraform-gcp-compliance

Control: Ensure OS login is enabled for a project

Description

Enabling OS login binds SSH certificates to IAM users and facilitates effective SSH certificate management.

Usage

Run the control in your terminal:

powerpipe control run terraform_gcp_compliance.control.compute_instance_oslogin_enabled

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run terraform_gcp_compliance.control.compute_instance_oslogin_enabled --share

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std -> 'metadata') is null then 'alarm'
when (attributes_std -> 'metadata' -> 'enable-oslogin') is null then 'alarm'
when (attributes_std -> 'metadata' ->> 'enable-oslogin') = 'true' then 'ok'
else 'alarm'
end status,
split_part(address, '.', 2) || case
when (attributes_std -> 'metadata') is null then ' ''metadata'' property is not defined'
when (attributes_std -> 'metadata' -> 'enable-oslogin') is null then ' ''enable-oslogin'' property is not defined'
when (attributes_std -> 'metadata' ->> 'enable-oslogin') = 'true' then ' has OS login enabled'
else ' has OS login disabled'
end || '.' reason,
path || ':' || start_line
from
terraform_resource
where
type = 'google_compute_instance';

Tags