Cloud Data Warehouse

Redshift Connector

Connect DB Audit to Amazon Redshift for comprehensive query monitoring, user activity tracking, and compliance reporting with native STL/SYS table integration.

Native Deep Integration

STL/SYS Native

Direct access to system tables

CloudWatch Integration

Optional audit log streaming

<1% Performance Impact

Read-only system table queries

What You Can Monitor

Query Monitoring

Track every SQL query with full query text, execution plan, and performance metrics from STL tables.

User Activity Tracking

Monitor user connections, authentication events, and session activity across your cluster.

DDL Change Detection

Detect and alert on schema changes, table modifications, and user/group permission changes.

Data Access Patterns

Analyze which users access which tables and identify unusual query patterns or data exfiltration.

Requirements

Redshift VersionAll versions supported
Network AccessTCP port 5439 (or custom port)
AuthenticationDatabase user or IAM authentication
Required PrivilegesSELECT on STL/SYS tables, pg_catalog

Configuration Reference

Basic Connection

FieldTypeRequiredDescription
namestringYesA unique name to identify this connection
hoststringYesRedshift cluster endpoint hostname
portnumberYesRedshift cluster port
databasestringYesDatabase name to connect to
usernamestringYesDatabase username
passwordpasswordYesDatabase password (stored encrypted)

SSL Configuration

FieldTypeDefaultDescription
ssl_modeselectrequireSSL connection mode
ssl_ca_certstring-CA certificate for server verification

Log Collection

FieldTypeDefaultDescription
log_collection_typeselectnative_auditMethod for collecting audit logs
polling_intervalnumber60Seconds between log collection polls
history_daysnumber7Days of query history to retain

Log Collection Methods

DB Audit supports multiple methods for collecting audit data from Amazon Redshift.

STL/SYS System Tables

Recommended

Query Redshift's system tables (STL_QUERY, STL_CONNECTION_LOG, SYS_QUERY_HISTORY) for comprehensive audit data.

Detailed query stats
User attribution
Connection tracking
No extra cost

CloudWatch Logs

Collect Redshift audit logs from CloudWatch for centralized log management.

Centralized logging
Long-term retention
Cross-service analysis
Works with audit logging enabled
1

Create Audit User

Create a dedicated read-only user with access to system tables.

-- Create a dedicated audit user with minimal privileges
-- Connect as admin/superuser

CREATE USER dbaudit_reader PASSWORD 'your_secure_password';

-- Grant access to system tables for audit data
GRANT SELECT ON ALL TABLES IN SCHEMA pg_catalog TO dbaudit_reader;

-- Grant access to STL tables (query history, connections)
GRANT SELECT ON stl_query TO dbaudit_reader;
GRANT SELECT ON stl_querytext TO dbaudit_reader;
GRANT SELECT ON stl_connection_log TO dbaudit_reader;
GRANT SELECT ON stl_ddltext TO dbaudit_reader;
GRANT SELECT ON stl_userlog TO dbaudit_reader;
GRANT SELECT ON stl_wlm_query TO dbaudit_reader;

-- Grant access to SYS views (newer Redshift)
GRANT SELECT ON sys_query_history TO dbaudit_reader;
GRANT SELECT ON sys_query_detail TO dbaudit_reader;
GRANT SELECT ON sys_connection_log TO dbaudit_reader;
GRANT SELECT ON sys_user_history TO dbaudit_reader;

-- Grant access to SVL views
GRANT SELECT ON svl_user_info TO dbaudit_reader;
GRANT SELECT ON svl_statementtext TO dbaudit_reader;
2

Enable Audit Logging (Optional)

Enable Redshift audit logging to S3 for long-term retention and CloudWatch integration.

-- Enable Redshift audit logging to S3 (optional but recommended)
-- This enables logging to S3 and CloudWatch

-- Via AWS Console:
-- 1. Go to Redshift Console > Clusters > Your Cluster
-- 2. Properties > Audit logging > Modify
-- 3. Enable audit logging and specify S3 bucket

-- Via AWS CLI:
aws redshift modify-cluster \
  --cluster-identifier your-cluster-id \
  --logging-properties \
    "BucketName=your-audit-bucket,S3KeyPrefix=redshift-audit/" \
  --region us-east-1

-- Enable user activity logging (captures full query text)
-- This requires a parameter group change
aws redshift modify-cluster-parameter-group \
  --parameter-group-name your-parameter-group \
  --parameters ParameterName=enable_user_activity_logging,ParameterValue=true

-- Enable connection logging
aws redshift modify-cluster-parameter-group \
  --parameter-group-name your-parameter-group \
  --parameters ParameterName=log_connections,ParameterValue=true
3

Configure DB Audit Collector

Add your Redshift cluster to the DB Audit configuration.

databases:
  - name: production-redshift
    type: redshift
    host: your-cluster.xxxx.us-east-1.redshift.amazonaws.com
    port: 5439
    database: your_database
    username: dbaudit_reader
    password: ${REDSHIFT_PASSWORD}

    # SSL Configuration (required for Redshift)
    ssl:
      mode: require
      # ca_cert: /etc/dbaudit/certs/redshift-ca.pem  # For verify-ca/verify-full

    # Connection settings
    connect_timeout: 30
    query_timeout: 300

    # Monitoring options
    options:
      track_queries: true
      track_connections: true
      track_ddl: true
      track_user_changes: true
      history_days: 7
4

Test Connection

Verify your configuration before deploying.

# Test connection with psql
psql -h your-cluster.xxxx.us-east-1.redshift.amazonaws.com \
  -p 5439 -U dbaudit_reader -d your_database \
  -c "SELECT COUNT(*) FROM stl_query WHERE starttime > DATEADD(day, -1, GETDATE());"

# Test with SSL
psql "host=your-cluster.xxxx.us-east-1.redshift.amazonaws.com \
  port=5439 user=dbaudit_reader dbname=your_database sslmode=require" \
  -c "SELECT version();"

# Check audit logging status
aws redshift describe-logging-status \
  --cluster-identifier your-cluster-id \
  --region us-east-1

# Verify DB Audit collector can connect
dbaudit-collector test-connections --config /etc/dbaudit/config.yaml

Compliance Support

DB Audit's Redshift connector helps you meet audit requirements for major compliance frameworks.

SOC 2
Access logging
HIPAA
PHI access audit
PCI DSS
Cardholder data
GDPR
Data access rights

Troubleshooting

Connection refused

Verify the cluster endpoint, port, and security group settings. Ensure the cluster is publicly accessible or the collector is in the same VPC.

Permission denied on STL tables

Grant SELECT permissions on required STL/SYS tables to the audit user. Superuser privileges are not required.

SSL connection error

Redshift requires SSL by default. Use sslmode=require or download the AWS Redshift CA bundle for verify-ca/verify-full.

Ready to Audit Your Redshift Cluster?

Start monitoring your Amazon Redshift data warehouse in minutes with native STL/SYS table integration.