This page has been updated to align with the new Grail security events table. For the complete list of updates and actions needed to accomplish the migration, follow the steps in the Grail security table migration guide.
Ingest Amazon GuardDuty security findings and analyze them in Dynatrace.
Dynatrace integration with Amazon GuardDuty allows you to unify and contextualize security findings across tools and products, enabling central prioritization, visualization, and automation.
GuardDuty detects suspicious activities in your AWS accounts, workloads, and data. The Dynatrace platform observes the runtime entities related to those AWS resources. Ingesting the detection findings from GuardDuty helps you analyze them in the context of their production apps.
With the ingested data, you can accomplish various use cases, such as
See below for the Amazon GuardDuty and Dynatrace requirements.
Install and configure the latest AWS CLI.
Select the AWS region where you want to create the event forwarder.
In a terminal, run:
aws configure
Set your default region (for example, us-east-1).
Permissions:
storage:security.events:read.Tokens:
openpipeline.events_security scope and save it for later. For details, see Dynatrace API - Tokens and authentication.
Amazon GuardDuty events are sent to Amazon EventBridge, which triggers an AWS Lambda function.
The Lambda function pre-processes the events and sends them to Dynatrace via a dedicated OpenPipeline security ingest endpoint.
The OpenPipeline ingest endpoint processes and maps the data according to the Semantic Dictionary conventions.
Data is stored in a bucket called default_securityevents (for details, see: Built-in Grail buckets).
Once you ingest your Amazon GuardDuty data into Grail, you can monitor your data in the app (in Dynatrace, go to Settings > Amazon GuardDuty).

You can view
A chart of ingested data from all existing connections over time
A table with information about your connections
You can create your own dashboards or use our templates to visualize and analyze container vulnerability findings.
You can create your own workflows or use our templates to automate and orchestrate container vulnerability findings.
You can query ingested data in
Notebooks or Security Investigator
, using the data format in Semantic Dictionary.
You can evaluate, triage, and investigate detection findings with
Threats & Exploits.
Threats & Exploits.To stop sending events to Dynatrace
This removes the Dynatrace resources created for this integration.
For billing information, see Events powered by Grail.
Detection finding events store the individual detection findings per affected object represented by an AWS resource.
The aws namespace is added to store AWS-related information with the following fields:
aws.account.id
aws.region
aws.availability_zone
aws.resource.type
aws.resource.name
CONTAINER: All the detection findings with a container as the target resource are classified as CONTAINER in object.type, and the container namespace is added with the corresponding fields:
container.id
container.name
container.image.name
container.image.version
Dynatrace normalizes severity and risk scores for all findings ingested through the current integration. This helps you to prioritize findings consistently, regardless of their source.
For details on how normalization works, see Severity and score normalization.
dt.security.risk.level is mapped from the severity level determined by Amazon GuardDuty mapping of the severity score (detail.severity).
dt.security.risk.score is mapped directly from the severity score (detail.severity) set by Amazon GuardDuty.
dt.security.risk.level (mapped from finding.severity) | dt.security.risk.score (mapped from finding.score) |
|---|---|
| CRITICAL -> CRITICAL | 9.0-10.0 |
| HIGH -> HIGH | 7.00-8.9 |
| MEDIUM -> MEDIUM | 4.0-6.9 |
| LOW -> LOW | 1.0-3.9 |