AWS Lambda FIPS Compliance
The FIPS-compliant Datadog Lambda extension is available in all AWS regions. While you can use these FIPS-compliant Lambda components with any Datadog site, end-to-end FIPS compliance requires sending data to the US1-FED site (ddog-gov.com).
Datadog provides FIPS-compliant monitoring for AWS Lambda functions through the use of FIPS-certified cryptographic modules and specially designed Lambda extension layers.
FIPS-Compliant Components
Datadog’s FIPS compliance for AWS Lambda is implemented through two main components:
FIPS-Compliant Lambda Extension:
Runtime Libraries Support:
- The Python and JavaScript Datadog Lambda Layers, and the Go Datadog Lambda Library offer FIPS-compliant operation controlled by the
DD_LAMBDA_FIPS_MODE
environment variable.DD_LAMBDA_FIPS_MODE
defaults to true
in GovCloud and false
otherwise.
- When FIPS mode is enabled:
- The runtime libraries use AWS FIPS endpoints for Datadog API key retrieval
- The Lambda metric helper functions require the FIPS-compliant extension for metric submission:
- Python:
lambda_metric
from datadog_lambda.metric
- Node.js:
sendDistributionMetric
from datadog-lambda-js
- Go:
Metric()
from ddlambda
FIPS Extension Layers
Datadog provides separate Lambda extension layers for FIPS compliance in both x86 and ARM architectures:
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:Datadog-Extension-FIPS:78
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:Datadog-Extension-ARM-FIPS:78
Replace <AWS_REGION>
with a valid AWS GovCloud region such as us-gov-west-1
.
arn:aws:lambda:<AWS_REGION>:464622532012:layer:Datadog-Extension-FIPS:78
arn:aws:lambda:<AWS_REGION>:464622532012:layer:Datadog-Extension-ARM-FIPS:78
Replace <AWS_REGION>
with a valid AWS region such as us-east-1
.
Runtime Support
Python, JavaScript, and Go
For Python, JavaScript, and Go Lambda functions, FIPS compliance is controlled using the DD_LAMBDA_FIPS_MODE
environment variable:
- In GovCloud environments,
DD_LAMBDA_FIPS_MODE
defaults to true
. - In commercial regions,
DD_LAMBDA_FIPS_MODE
defaults to false
.
When FIPS mode is enabled:
- AWS FIPS endpoints are used for Datadog API key lookups in AWS secure datastores.
- Direct metric submission to the Datadog API is disabled, requiring the FIPS-compliant extension for metric submission.
Ruby, .NET, and Java
Ruby, .NET, and Java runtime libraries do not require the DD_LAMBDA_FIPS_MODE
environment variable as these runtimes do not:
- Contact AWS APIs directly
- Send metrics directly to Datadog
Installation and Configuration
To use FIPS-compliant monitoring for your AWS Lambda functions:
Select the FIPS-compliant extension layer:
- Use the appropriate FIPS extension layer ARN for your architecture (x86 or ARM) and region (commercial or GovCloud).
Configure environment variables:
- For GovCloud environments,
DD_LAMBDA_FIPS_MODE
is enabled by default. - For commercial regions, set
DD_LAMBDA_FIPS_MODE=true
to enable FIPS mode. - For complete end-to-end FIPS compliance, set
DD_SITE
to ddog-gov.com
to send data to the US1-FED site.
Follow the standard installation instructions:
- Refer to the installation guides for language-specific configurations.
- Use the FIPS extension layer ARNs instead of the standard extension layers.
For detailed installation instructions specific to your language runtime and deployment method, see the installation documentation.
Limitations and Considerations
End-to-end FIPS Compliance: For complete FIPS compliance, the FIPS-compliant Lambda components must be used to send telemetry to the US1-FED region (ddog-gov.com
). While the Lambda components themselves implement FIPS-compliant cryptography regardless of the destination, only the US1-FED site has FIPS-compliant intake endpoints.
Customer Responsibility: You, the Datadog customer, are responsible for:
- The security posture of your own Lambda function code
- Ensuring all other code you may be running in your Lambda execution environment maintains FIPS compliance as required
FIPS Compliance Scope: FIPS compliance only applies to communication between the Datadog Lambda components and Datadog’s intake API endpoints. Other forms of communication originating from or terminating at your Lambda functions are not made FIPS-compliant by this solution.
Version Requirements: Use the latest versions of the Datadog Lambda extension and libraries to ensure full functionality and up-to-date security.
Further Reading