Table: aws_config_delivery_channel - Query AWS Config Delivery Channels using SQL
The AWS Config Delivery Channel is a feature that enables AWS Config to deliver configuration snapshots and configuration change notifications to specified destinations. It plays a key role in ensuring that your configuration data is stored securely and notifications are sent promptly for compliance or operational purposes.
Table Usage Guide
The aws_config_delivery_channel
table in Steampipe provides insights into the Delivery Channels associated with AWS Config. This table enables DevOps engineers, security analysts, and cloud administrators to query delivery channel details such as the destination S3 bucket, SNS topic for notifications, and delivery status. Use this table to ensure your configuration change data is being delivered correctly and troubleshoot delivery-related issues.
Examples
Retrieve basic delivery channel information
Get a detailed view of your AWS Config Delivery Channels, including their destinations and notification settings.
select name, s3_bucket_name, s3_key_prefix, sns_topic_arn, delivery_frequency, status, title, akasfrom aws_config_delivery_channel;
select name, s3_bucket_name, s3_key_prefix, sns_topic_arn, delivery_frequency, status, title, akasfrom aws_config_delivery_channel;
List delivery channels without SNS topic configured
Identify delivery channels that do not have an SNS topic configured for notifications. This can help ensure you have proper alerting mechanisms in place.
select name, s3_bucket_name, sns_topic_arnfrom aws_config_delivery_channelwhere sns_topic_arn is null;
select name, s3_bucket_name, sns_topic_arnfrom aws_config_delivery_channelwhere sns_topic_arn is null;
Check delivery channels with delivery failures
Discover delivery channels with failed deliveries to address issues in your AWS Config setup.
select name, status ->> 'LastStatus' as last_status, status ->> 'LastStatusChangeTime' as last_status_change_time, status ->> 'LastErrorCode' as last_error_code, status ->> 'LastErrorMessage' as last_error_messagefrom aws_config_delivery_channelwhere (status ->> 'LastStatus') = 'FAILURE';
select name, json_extract(status, '$.LastStatus') as last_status, json_extract(status, '$.LastStatusChangeTime') as last_status_change_time, json_extract(status, '$.LastErrorCode') as last_error_code, json_extract(status, '$.LastErrorMessage') as last_error_messagefrom aws_config_delivery_channelwhere json_extract(status, '$.LastStatus') = 'FAILURE';
List delivery channels sending to a specific S3 bucket
Query the delivery channels that are configured to send data to a particular S3 bucket.
select name, s3_bucket_name, sns_topic_arn, delivery_frequencyfrom aws_config_delivery_channelwhere s3_bucket_name = 'test-bucket-delivery-channel';
select name, s3_bucket_name, sns_topic_arn, delivery_frequencyfrom aws_config_delivery_channelwhere s3_bucket_name = 'test-bucket-delivery-channel';
Analyze delivery frequency of all channels
Get an overview of how often your delivery channels send data, ensuring they align with organizational requirements.
select name, delivery_frequency, s3_bucket_name, sns_topic_arnfrom aws_config_delivery_channel;
select name, delivery_frequency, s3_bucket_name, sns_topic_arnfrom aws_config_delivery_channel;
Schema for aws_config_delivery_channel
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
account_id | text | =, !=, ~~, ~~*, !~~, !~~* | The AWS Account ID in which the resource is located. |
akas | jsonb | Array of globally unique identifier strings (also known as) for the resource. | |
delivery_frequency | text | The frequency with which the AWS Config delivers configuration snapshots to the Amazon S3 bucket. | |
name | text | = | The name of the delivery channel. |
partition | text | The AWS partition in which the resource is located (aws, aws-cn, or aws-us-gov). | |
region | text | The AWS Region in which the resource is located. | |
s3_bucket_name | text | The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files. | |
s3_key_prefix | text | The prefix for the specified Amazon S3 bucket. | |
s3_kms_key_arn | text | The Amazon Resource Name (ARN) of the KMS key. | |
sns_topic_arn | text | The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes. | |
sp_connection_name | text | =, !=, ~~, ~~*, !~~, !~~* | Steampipe connection name. |
sp_ctx | jsonb | Steampipe context in JSON form. | |
status | jsonb | The current status of the delivery channel. | |
title | text | Title of the resource. |
Export
This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.
You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh
script:
/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- aws
You can pass the configuration to the command with the --config
argument:
steampipe_export_aws --config '<your_config>' aws_config_delivery_channel