blockstorage_block_volume_cmk_encryption_enabledblockstorage_boot_volume_cmk_encryption_enabledcloudguard_enabledcore_default_security_list_allow_icmp_onlycore_instance_encryption_in_transit_enabledcore_instance_legacy_metadata_service_endpoint_disabledcore_instance_secure_boot_enabledcore_network_security_group_restrict_ingress_rdp_allcore_network_security_group_restrict_ingress_ssh_allcore_security_list_restrict_ingress_rdp_allcore_security_list_restrict_ingress_ssh_allcore_subnet_flow_log_enabledevents_rule_notification_cloud_guard_problems_detectedevents_rule_notification_iam_group_changesevents_rule_notification_iam_policy_changesevents_rule_notification_iam_user_changesevents_rule_notification_identity_provider_changesevents_rule_notification_idp_group_mapping_changesevents_rule_notification_local_user_authevents_rule_notification_network_gateway_changesevents_rule_notification_network_security_list_changesevents_rule_notification_route_table_changesevents_rule_notification_security_list_changesevents_rule_notification_vcn_changesfilestorage_filesystem_cmk_encryption_enabledidentity_administrator_user_with_no_api_keyidentity_auth_token_age_90identity_authentication_password_policy_strong_min_length_14identity_default_tagidentity_iam_administrators_no_update_tenancy_administrators_group_permissionidentity_only_administrators_group_with_manage_all_resources_permission_in_tenancyidentity_root_compartment_no_resourcesidentity_tenancy_audit_log_retention_period_365_daysidentity_tenancy_with_one_active_compartmentidentity_user_api_key_age_90identity_user_console_access_mfa_enabledidentity_user_credentials_unused_45_daysidentity_user_customer_secret_key_age_90identity_user_db_credential_age_90identity_user_one_active_api_keyidentity_user_valid_emailkms_cmk_rotation_365manual_controlnotification_topic_with_subscriptionobjectstorage_bucket_cmk_encryption_enabledobjectstorage_bucket_public_access_blockedobjectstorage_bucket_versioning_enabledobjectstorage_bucket_write_logging_enabledoracle_autonomous_database_not_publicly_accessible
Query: identity_user_one_active_api_key
Usage
powerpipe query oci_compliance.query.identity_user_one_active_api_keySteampipe Tables
SQL
with active_keys as ( select user_id, count(*) as active_api_key_count from oci_identity_api_key where lifecycle_state = 'ACTIVE' group by user_id)select u.id as resource, case when u.user_type <> 'IAM' then 'skip' when coalesce(k.active_api_key_count, 0) > 1 then 'alarm' else 'ok' end as status, case when u.user_type <> 'IAM' then u.name || ' is a federated user.' when coalesce(k.active_api_key_count, 0) = 0 then u.name || ' has no active API keys.' when coalesce(k.active_api_key_count, 0) = 1 then name || ' has one active API key.' else format('%s has %s active API keys.', u.name, coalesce(k.active_api_key_count, 0)) end as reason , tenant_name as tenantfrom oci_identity_user u left join active_keys k on k.user_id = u.idwhere u.lifecycle_state = 'ACTIVE';
Controls
The query is being used by the following controls: