TrailProps

class aws_cdk.aws_cloudtrail.TrailProps(*, bucket=None, cloud_watch_log_group=None, cloud_watch_logs_retention=None, enable_file_validation=None, encryption_key=None, include_global_service_events=None, is_multi_region_trail=None, kms_key=None, management_events=None, s3_key_prefix=None, send_to_cloud_watch_logs=None, sns_topic=None, trail_name=None)

Bases: object

Properties for an AWS CloudTrail trail.

Parameters
  • bucket (Optional[IBucket]) – The Amazon S3 bucket. Default: - if not supplied a bucket will be created with all the correct permisions

  • cloud_watch_log_group (Optional[ILogGroup]) – Log Group to which CloudTrail to push logs to. Ignored if sendToCloudWatchLogs is set to false. Default: - a new log group is created and used.

  • cloud_watch_logs_retention (Optional[RetentionDays]) – How long to retain logs in CloudWatchLogs. Ignored if sendToCloudWatchLogs is false or if cloudWatchLogGroup is set. Default: logs.RetentionDays.ONE_YEAR

  • enable_file_validation (Optional[bool]) – To determine whether a log file was modified, deleted, or unchanged after CloudTrail delivered it, you can use CloudTrail log file integrity validation. This feature is built using industry standard algorithms: SHA-256 for hashing and SHA-256 with RSA for digital signing. This makes it computationally infeasible to modify, delete or forge CloudTrail log files without detection. You can use the AWS CLI to validate the files in the location where CloudTrail delivered them. Default: true

  • encryption_key (Optional[IKey]) – The AWS Key Management Service (AWS KMS) key ID that you want to use to encrypt CloudTrail logs. Default: - No encryption.

  • include_global_service_events (Optional[bool]) – For most services, events are recorded in the region where the action occurred. For global services such as AWS Identity and Access Management (IAM), AWS STS, Amazon CloudFront, and Route 53, events are delivered to any trail that includes global services, and are logged as occurring in US East (N. Virginia) Region. Default: true

  • is_multi_region_trail (Optional[bool]) – Whether or not this trail delivers log files from multiple regions to a single S3 bucket for a single account. Default: true

  • kms_key (Optional[IKey]) – (deprecated) The AWS Key Management Service (AWS KMS) key ID that you want to use to encrypt CloudTrail logs. Default: - No encryption.

  • management_events (Optional[ReadWriteType]) – When an event occurs in your account, CloudTrail evaluates whether the event matches the settings for your trails. Only events that match your trail settings are delivered to your Amazon S3 bucket and Amazon CloudWatch Logs log group. This method sets the management configuration for this trail. Management events provide insight into management operations that are performed on resources in your AWS account. These are also known as control plane operations. Management events can also include non-API events that occur in your account. For example, when a user logs in to your account, CloudTrail logs the ConsoleLogin event. Default: ReadWriteType.ALL

  • s3_key_prefix (Optional[str]) – An Amazon S3 object key prefix that precedes the name of all log files. Default: - No prefix.

  • send_to_cloud_watch_logs (Optional[bool]) – If CloudTrail pushes logs to CloudWatch Logs in addition to S3. Disabled for cost out of the box. Default: false

  • sns_topic (Optional[ITopic]) – SNS topic that is notified when new log files are published. Default: - No notifications.

  • trail_name (Optional[str]) – The name of the trail. We recommend customers do not set an explicit name. Default: - AWS CloudFormation generated name.

Attributes

bucket

The Amazon S3 bucket.

Default
  • if not supplied a bucket will be created with all the correct permisions

Return type

Optional[IBucket]

cloud_watch_log_group

Log Group to which CloudTrail to push logs to.

Ignored if sendToCloudWatchLogs is set to false.

Default
  • a new log group is created and used.

Return type

Optional[ILogGroup]

cloud_watch_logs_retention

How long to retain logs in CloudWatchLogs.

Ignored if sendToCloudWatchLogs is false or if cloudWatchLogGroup is set.

Default

logs.RetentionDays.ONE_YEAR

Return type

Optional[RetentionDays]

enable_file_validation

To determine whether a log file was modified, deleted, or unchanged after CloudTrail delivered it, you can use CloudTrail log file integrity validation.

This feature is built using industry standard algorithms: SHA-256 for hashing and SHA-256 with RSA for digital signing. This makes it computationally infeasible to modify, delete or forge CloudTrail log files without detection. You can use the AWS CLI to validate the files in the location where CloudTrail delivered them.

Default

true

Return type

Optional[bool]

encryption_key

The AWS Key Management Service (AWS KMS) key ID that you want to use to encrypt CloudTrail logs.

Default
  • No encryption.

Return type

Optional[IKey]

include_global_service_events

For most services, events are recorded in the region where the action occurred.

For global services such as AWS Identity and Access Management (IAM), AWS STS, Amazon CloudFront, and Route 53, events are delivered to any trail that includes global services, and are logged as occurring in US East (N. Virginia) Region.

Default

true

Return type

Optional[bool]

is_multi_region_trail

Whether or not this trail delivers log files from multiple regions to a single S3 bucket for a single account.

Default

true

Return type

Optional[bool]

kms_key

(deprecated) The AWS Key Management Service (AWS KMS) key ID that you want to use to encrypt CloudTrail logs.

Default
  • No encryption.

Deprecated
  • use encryptionKey instead.

Stability

deprecated

Return type

Optional[IKey]

management_events

When an event occurs in your account, CloudTrail evaluates whether the event matches the settings for your trails.

Only events that match your trail settings are delivered to your Amazon S3 bucket and Amazon CloudWatch Logs log group.

This method sets the management configuration for this trail.

Management events provide insight into management operations that are performed on resources in your AWS account. These are also known as control plane operations. Management events can also include non-API events that occur in your account. For example, when a user logs in to your account, CloudTrail logs the ConsoleLogin event.

Default

ReadWriteType.ALL

Return type

Optional[ReadWriteType]

s3_key_prefix

An Amazon S3 object key prefix that precedes the name of all log files.

Default
  • No prefix.

Return type

Optional[str]

send_to_cloud_watch_logs

If CloudTrail pushes logs to CloudWatch Logs in addition to S3.

Disabled for cost out of the box.

Default

false

Return type

Optional[bool]

sns_topic

SNS topic that is notified when new log files are published.

Default
  • No notifications.

Return type

Optional[ITopic]

trail_name

The name of the trail.

We recommend customers do not set an explicit name.

Default
  • AWS CloudFormation generated name.

Return type

Optional[str]