turbot/aws_compliance

Query: opensearch_domain_logs_to_cloudwatch

Usage

powerpipe query aws_compliance.query.opensearch_domain_logs_to_cloudwatch

Steampipe Tables

SQL

select
arn as resource,
case
when log_publishing_options is null then 'alarm'
when (
log_publishing_options -> 'AUDIT_LOGS' is null
or log_publishing_options -> 'AUDIT_LOGS' -> 'Enabled' = 'false'
or (
log_publishing_options -> 'AUDIT_LOGS' -> 'Enabled' = 'true'
and log_publishing_options -> 'AUDIT_LOGS' -> 'CloudWatchLogsLogGroupArn' is not null
)
)
and (
log_publishing_options -> 'INDEX_SLOW_LOGS' is null
or log_publishing_options -> 'INDEX_SLOW_LOGS' -> 'Enabled' = 'false'
or (
log_publishing_options -> 'INDEX_SLOW_LOGS' -> 'Enabled' = 'true'
and log_publishing_options -> 'INDEX_SLOW_LOGS' -> 'CloudWatchLogsLogGroupArn' is not null
)
)
and (
log_publishing_options -> 'SEARCH_SLOW_LOGS' is null
or log_publishing_options -> 'SEARCH_SLOW_LOGS' -> 'Enabled' = 'false'
or (
log_publishing_options -> 'SEARCH_SLOW_LOGS' -> 'Enabled' = 'true'
and log_publishing_options -> 'SEARCH_SLOW_LOGS' -> 'CloudWatchLogsLogGroupArn' is not null
)
)
and (
log_publishing_options -> 'ES_APPLICATION_LOGS' is null
or log_publishing_options -> 'ES_APPLICATION_LOGS' -> 'Enabled' = 'false'
or (
log_publishing_options -> 'ES_APPLICATION_LOGS' -> 'Enabled' = 'true'
and log_publishing_options -> 'ES_APPLICATION_LOGS' -> 'CloudWatchLogsLogGroupArn' is not null
)
) then 'ok'
else 'alarm'
end as status,
case
when log_publishing_options is null then title || ' logging not enabled.'
when (
log_publishing_options -> 'AUDIT_LOGS' is null
or log_publishing_options -> 'AUDIT_LOGS' -> 'Enabled' = 'false'
or (
log_publishing_options -> 'AUDIT_LOGS' -> 'Enabled' = 'true'
and log_publishing_options -> 'AUDIT_LOGS' -> 'CloudWatchLogsLogGroupArn' is not null
)
)
and (
log_publishing_options -> 'INDEX_SLOW_LOGS' is null
or log_publishing_options -> 'INDEX_SLOW_LOGS' -> 'Enabled' = 'false'
or (
log_publishing_options -> 'INDEX_SLOW_LOGS' -> 'Enabled' = 'true'
and log_publishing_options -> 'INDEX_SLOW_LOGS' -> 'CloudWatchLogsLogGroupArn' is not null
)
)
and (
log_publishing_options -> 'SEARCH_SLOW_LOGS' is null
or log_publishing_options -> 'SEARCH_SLOW_LOGS' -> 'Enabled' = 'false'
or (
log_publishing_options -> 'SEARCH_SLOW_LOGS' -> 'Enabled' = 'true'
and log_publishing_options -> 'SEARCH_SLOW_LOGS' -> 'CloudWatchLogsLogGroupArn' is not null
)
)
and (
log_publishing_options -> 'ES_APPLICATION_LOGS' is null
or log_publishing_options -> 'ES_APPLICATION_LOGS' -> 'Enabled' = 'false'
or (
log_publishing_options -> 'ES_APPLICATION_LOGS' -> 'Enabled' = 'true'
and log_publishing_options -> 'ES_APPLICATION_LOGS' -> 'CloudWatchLogsLogGroupArn' is not null
)
) then title || ' send logs to AWS CloudWatch.'
else title || ' does not send logs to AWS CloudWatch.'
end as reason,
region,
account_id
from
aws_opensearch_domain;

Controls

The query is being used by the following controls: