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 loginpowerpipe 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_linefrom terraform_resourcewhere type = 'google_compute_instance';