To find out if this integration is available in your organization, see your Datadog Integrations page or ask your organization administrator.
To initiate an exception request to enable this integration for your organization, email support@ddog-gov.com.
Overview
AWS CloudTrail provides an audit trail for your AWS account. Datadog reads this audit trail and creates events. Search your Datadog events explorer for these events or use them for correlation on your dashboards.
For information on other AWS services, see the Amazon Web Services integration page. Installing the CloudTrail integration and collecting CloudTrail events also accelerates AWS resource-collection refresh, so Datadog’s view of your AWS account reflects changes more quickly.
Setup
Installation
If you haven’t already, set up the Amazon Web Services integration first.
Event collection
Note: The Datadog CloudTrail integration requires events to be collected in a CloudTrail bucket.
Add the following permissions to your Datadog IAM policy to collect AWS CloudTrail events. For more information on CloudTrail policies, see the AWS CloudTrail API Reference. CloudTrail also requires some S3 permissions to access the trails. These are required on the CloudTrail bucket only. For more information on Amazon S3 policies, see the Amazon S3 API Reference.
| AWS Permission | Description |
|---|
cloudtrail:DescribeTrails | Lists trails and the s3 bucket the trails are stored in. |
cloudtrail:GetTrailStatus | Skips inactive trails. |
s3:ListBucket | Lists objects in the CloudTrail bucket to get available trails. |
s3:GetBucketLocation | Obtains the bucket’s region to download trails. |
s3:GetObject | Fetches available trails. |
organizations:DescribeOrganization | Returns information about an account’s organization (required for org trails). |
If you plan to use automatic log subscription (see Log collection below), also grant:
| AWS Permission | Description |
|---|
cloudtrail:ListTrails | Discovers trails to auto-subscribe for log forwarding. |
cloudtrail:GetTrail | Resolves the S3 bucket or CloudWatch Logs group each trail delivers to. |
Add this policy to your existing main Datadog IAM policy:
{
"Sid": "AWSDatadogPermissionsForCloudtrail",
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation", "s3:GetObject"],
"Resource": [
"arn:aws:s3:::<YOUR_S3_CLOUDTRAIL_BUCKET_NAME>",
"arn:aws:s3:::<YOUR_S3_CLOUDTRAIL_BUCKET_NAME>/*"
]
}
Install the Datadog - AWS CloudTrail integration:
On the integration page, choose the types of events to show as normal priority (the default filter) in the Datadog events explorer. The accounts you configured in the Amazon Web Services page are also shown here. If you would like to see other events that are not mentioned here, contact Datadog support.
Log collection
Enable logging
In AWS CloudTrail, create a Trail and select an S3 bucket to write the logs in.
Send logs to Datadog
CloudTrail logs can be sent to Datadog through automatic log subscription, the Datadog Forwarder Lambda, or Amazon Data Firehose. Pick the option that matches how you already ship AWS logs.
Option 1: Automatic log subscription (recommended)
If log collection is enabled on the Amazon Web Services integration, Datadog can automatically set up triggers for CloudTrail — discovering your trails and subscribing to their destinations (S3 buckets or CloudWatch Logs groups) without any per-trail wiring. Grant the additional cloudtrail:ListTrails and cloudtrail:GetTrail permissions listed above, enable CloudTrail log collection in the AWS integration tile, and Datadog provisions the subscription for you.
Option 2: Datadog Forwarder Lambda
- If you haven’t already, set up the Datadog Forwarder Lambda function in your AWS account.
- Once set up, go to the Datadog Forwarder Lambda function. In the Function Overview section, click Add Trigger.
- Select the S3 trigger for the Trigger Configuration.
- Select the S3 bucket that contains your CloudTrail logs.
- Leave the event type as
All object create events. - Click Add to add the trigger to your Lambda.
Option 3: Amazon Data Firehose
Follow the Amazon Data Firehose destination setup to stream CloudTrail logs directly to Datadog without the Forwarder Lambda.
Go to the Log Explorer to start exploring your logs.
For more information on collecting AWS Services logs, see Send AWS Services Logs with the Datadog Lambda Function.
Data Collected
Metrics
The AWS CloudTrail integration does not include any metrics.
Events
The AWS CloudTrail integration creates many different events based on the AWS CloudTrail audit trail. All events are tagged with #cloudtrail in your Datadog events explorer. You can set their priority in the integration configuration.
CloudTrail events that can be set to a normal priority (they appear in the Event Explorer under the default filter):
- apigateway
- autoscaling
- cloudformation
- cloudfront
- cloudsearch
- cloudtrail
- codedeploy
- codepipeline
- config
- datapipeline
- ds
- ec2
- ecs
- elasticache
- elasticbeanstalk
- elasticfilesystem
- elasticloadbalancing
- elasticmapreduce
- iam
- kinesis
- lambda
- monitoring
- rds
- redshift
- route53
- s3
- ses
- signin
- ssm
Service Checks
The AWS CloudTrail integration does not include any service checks.
Troubleshooting
The CloudTrail tile is missing or there are no accounts listed
You need to first configure the Amazon Web Services integration. Then the CloudTrail tile can be configured.
Permission or configuration issues
Permission errors related to CloudTrail (for example, missing s3:GetObject on a trail bucket, or inactive trails) are surfaced on the main Amazon Web Services integration tile, not on the CloudTrail tile.