Skip to content

Commit 8f0c916

Browse files
committed
cleanup references
1 parent b3c62e0 commit 8f0c916

File tree

6 files changed

+184
-190
lines changed

6 files changed

+184
-190
lines changed

content/en/security/application_security/setup/aws/lambda/dotnet.md

Lines changed: 66 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ further_reading:
2121
Configuring App and API Protection (AAP) for AWS Lambda involves:
2222

2323
1. Identifying functions that are vulnerable or are under attack, which would most benefit from AAP. Find them on [the Security tab of your Software Catalog][1].
24-
2. Setting up AAP instrumentation by using either the [Datadog CLI](https://docs.datadoghq.com/serverless/serverless_integrations/cli), [AWS CDK](https://github.com/DataDog/datadog-cdk-constructs), [Datadog Serverless Framework plugin][7], or manually by using the Datadog tracing layers.
24+
2. Setting up AAP instrumentation by using either the [Datadog CLI](https://docs.datadoghq.com/serverless/serverless_integrations/cli), [AWS CDK](https://github.com/DataDog/datadog-cdk-constructs), [Datadog Serverless Framework plugin][2], or manually by using the Datadog tracing layers.
2525
3. Triggering security signals in your application and seeing how Datadog displays the resulting information.
2626

2727
## Prerequisites
@@ -31,7 +31,7 @@ Configuring App and API Protection (AAP) for AWS Lambda involves:
3131

3232
## Compatibility
3333

34-
**Note**: Threat Protection through Remote Configuration is not supported. Use [Workflows][5] to block IPs in your [WAF][6].
34+
**Note**: Threat Protection through Remote Configuration is not supported. Use [Workflows][3] to block IPs in your [WAF][4].
3535

3636
## Supported trigger types
3737
Threat Detection supports HTTP requests as function input only, as that channel has the highest likelihood of attackers exploiting a serverless application. HTTP requests typically come from AWS services such as:
@@ -48,7 +48,7 @@ Threat Detection supports HTTP requests as function input only, as that channel
4848
{{< tabs >}}
4949
{{% tab "Serverless Framework" %}}
5050

51-
The [Datadog Serverless Framework plugin][7] can be used to automatically configure and deploy your lambda with AAP.
51+
The [Datadog Serverless Framework plugin][2] can be used to automatically configure and deploy your lambda with AAP.
5252

5353
To install and configure the Datadog Serverless Framework plugin:
5454

@@ -72,9 +72,9 @@ To install and configure the Datadog Serverless Framework plugin:
7272
enableDDTracing: true
7373
enableASM: true
7474
```
75-
See also the complete list of [plugin parameters][9] to further configure your lambda settings.
75+
See also the complete list of [plugin parameters][5] to further configure your lambda settings.
7676

77-
4. Redeploy the function and invoke it. After a few minutes, it appears in [AAP views][3].
77+
4. Redeploy the function and invoke it. After a few minutes, it appears in [AAP views][6].
7878

7979
{{% /tab %}}
8080
{{% tab "Datadog CLI" %}}
@@ -97,7 +97,7 @@ The Datadog CLI modifies existing Lambda function configurations to enable instr
9797

9898
3. Configure the AWS credentials:
9999

100-
Datadog CLI requires access to the AWS Lambda service, and depends on the AWS JavaScript SDK to [resolve the credentials][10]. Ensure your AWS credentials are configured using the same method you would use when invoking the AWS CLI.
100+
Datadog CLI requires access to the AWS Lambda service, and depends on the AWS JavaScript SDK to [resolve the credentials][7]. Ensure your AWS credentials are configured using the same method you would use when invoking the AWS CLI.
101101

102102
4. Configure the Datadog site:
103103

@@ -136,12 +136,12 @@ The Datadog CLI modifies existing Lambda function configurations to enable instr
136136

137137
**Note**: Instrument your Lambda functions in a development or staging environment first. If the instrumentation result is unsatisfactory, run `uninstrument` with the same arguments to revert the changes.
138138

139-
Additional parameters can be found in the [CLI documentation][11].
139+
Additional parameters can be found in the [CLI documentation][8].
140140

141141
{{% /tab %}}
142142
{{% tab "AWS CDK" %}}
143143

144-
The [Datadog CDK Construct][12] automatically installs Datadog on your functions using Lambda Layers, and configures your functions to send metrics, traces, and logs to Datadog through the Datadog Lambda Extension.
144+
The [Datadog CDK Construct][9] automatically installs Datadog on your functions using Lambda Layers, and configures your functions to send metrics, traces, and logs to Datadog through the Datadog Lambda Extension.
145145

146146
1. Install the Datadog CDK constructs library:
147147

@@ -175,47 +175,67 @@ The [Datadog CDK Construct][12] automatically installs Datadog on your functions
175175

176176
To fill in the placeholders:
177177
- Replace `<DATADOG_SITE>` with {{< region-param key="dd_site" code="true" >}} (ensure the correct SITE is selected on the right).
178-
- Replace `<DATADOG_API_KEY_SECRET_ARN>` with the ARN of the AWS secret where your [Datadog API key][13] is securely stored. The key needs to be stored as a plaintext string (not a JSON blob). The `secretsmanager:GetSecretValue` permission is required. For quick testing, you can use `apiKey` instead and set the Datadog API key in plaintext.
178+
- Replace `<DATADOG_API_KEY_SECRET_ARN>` with the ARN of the AWS secret where your [Datadog API key][10] is securely stored. The key needs to be stored as a plaintext string (not a JSON blob). The `secretsmanager:GetSecretValue` permission is required. For quick testing, you can use `apiKey` instead and set the Datadog API key in plaintext.
179179

180-
More information and additional parameters can be found on the [Datadog CDK documentation][12].
180+
More information and additional parameters can be found on the [Datadog CDK documentation][9].
181181

182182
{{% /tab %}}
183183
{{% tab "Custom" %}}
184184

185-
1. Install the Datadog tracer by configuring the layer ARN that matches your deployment. Replace `<AWS_REGION>` with a valid AWS region such as `us-east-1`:
186-
```sh
187-
# x86-based Lambda in AWS commercial regions
188-
arn:aws:lambda:<AWS_REGION>:464622532012:layer:dd-trace-dotnet:{{< latest-lambda-layer-version layer="dd-trace-dotnet" >}}
189-
# arm64-based Lambda in AWS commercial regions
190-
arn:aws:lambda:<AWS_REGION>:464622532012:layer:dd-trace-dotnet-ARM:{{< latest-lambda-layer-version layer="dd-trace-dotnet" >}}
191-
# x86-based Lambda in AWS GovCloud regions
192-
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:dd-trace-dotnet:{{< latest-lambda-layer-version layer="dd-trace-dotnet" >}}
193-
# arm64-based Lambda in AWS GovCloud regions
194-
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:dd-trace-dotnet-ARM:{{< latest-lambda-layer-version layer="dd-trace-dotnet" >}}
195-
```
185+
1. Install the Datadog Tracer
196186

197-
2. Install the Datadog Lambda Extension by configuring the layers for your Lambda function using the ARN in one of the following formats. Replace `<AWS_REGION>` with a valid AWS region such as `us-east-1`:
198-
```sh
199-
# x86-based Lambda in AWS commercial regions
200-
arn:aws:lambda:<AWS_REGION>:464622532012:layer:Datadog-Extension:{{< latest-lambda-layer-version layer="extension" >}}
201-
# arm64-based Lambda in AWS commercial regions
202-
arn:aws:lambda:<AWS_REGION>:464622532012:layer:Datadog-Extension-ARM:{{< latest-lambda-layer-version layer="extension" >}}
203-
# x86-based Lambda in AWS GovCloud regions
204-
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:Datadog-Extension:{{< latest-lambda-layer-version layer="extension" >}}
205-
# arm64-based Lambda in AWS GovCloud regions
206-
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:Datadog-Extension-ARM:{{< latest-lambda-layer-version layer="extension" >}}
207-
```
187+
[Configure the layers][11] for your Lambda function using the ARN in the following format:
188+
189+
```sh
190+
# Use this format for x86-based Lambda deployed in AWS commercial regions
191+
arn:aws:lambda:<AWS_REGION>:464622532012:layer:dd-trace-dotnet:{{< latest-lambda-layer-version layer="dd-trace-dotnet" >}}
192+
193+
# Use this format for arm64-based Lambda deployed in AWS commercial regions
194+
arn:aws:lambda:<AWS_REGION>:464622532012:layer:dd-trace-dotnet-ARM:{{< latest-lambda-layer-version layer="dd-trace-dotnet" >}}
195+
196+
# Use this format for x86-based Lambda deployed in AWS GovCloud regions
197+
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:dd-trace-dotnet:{{< latest-lambda-layer-version layer="dd-trace-dotnet" >}}
198+
199+
# Use this format for arm64-based Lambda deployed in AWS GovCloud regions
200+
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:dd-trace-dotnet-ARM:{{< latest-lambda-layer-version layer="dd-trace-dotnet" >}}
201+
```
202+
203+
Replace `<AWS_REGION>` with a valid AWS region, such as `us-east-1`.
204+
205+
2. Install the Datadog Lambda Extension
208206

209-
3. Enable AAP by adding the following environment variables on your function deployment:
207+
[Configure the layers][11] for your Lambda function using the ARN in the following format:
208+
209+
```sh
210+
# Use this format for x86-based Lambda deployed in AWS commercial regions
211+
arn:aws:lambda:<AWS_REGION>:464622532012:layer:Datadog-Extension:{{< latest-lambda-layer-version layer="extension" >}}
212+
213+
# Use this format for arm64-based Lambda deployed in AWS commercial regions
214+
arn:aws:lambda:<AWS_REGION>:464622532012:layer:Datadog-Extension-ARM:{{< latest-lambda-layer-version layer="extension" >}}
215+
216+
# Use this format for x86-based Lambda deployed in AWS GovCloud regions
217+
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:Datadog-Extension:{{< latest-lambda-layer-version layer="extension" >}}
218+
219+
# Use this format for arm64-based Lambda deployed in AWS GovCloud regions
220+
arn:aws-us-gov:lambda:<AWS_REGION>:002406178527:layer:Datadog-Extension-ARM:{{< latest-lambda-layer-version layer="extension" >}}
221+
```
222+
223+
Replace `<AWS_REGION>` with a valid AWS region, such as `us-east-1`.
224+
225+
3. Set the required environment variables
226+
227+
- Set `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/datadog_wrapper`.
228+
- Set `DD_SITE` to {{< region-param key="dd_site" code="true" >}} (ensure the correct SITE is selected on the right).
229+
- Set `DD_API_KEY_SECRET_ARN` to the ARN of the AWS secret where your [Datadog API key][10] is securely stored. The key needs to be stored as a plaintext string (not a JSON blob). The `secretsmanager:GetSecretValue` permission is required. For quick testing, you can use `DD_API_KEY` instead and set the Datadog API key in plaintext.
230+
231+
4. Enable AAP by adding the following environment variables on your function deployment:
210232
```yaml
211233
environment:
212234
AWS_LAMBDA_EXEC_WRAPPER: /opt/datadog_wrapper
213235
DD_SERVERLESS_APPSEC_ENABLED: true
214236
```
215237

216-
4. Redeploy the function and invoke it. After a few minutes, it appears in [AAP views][3].
217-
218-
[15]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html
238+
5. Redeploy the function and invoke it. After a few minutes, it appears in [AAP views][6].
219239

220240
{{% /tab %}}
221241
{{< /tabs >}}
@@ -225,16 +245,14 @@ The [Datadog CDK Construct][12] automatically installs Datadog on your functions
225245
{{< partial name="whats-next/whats-next.html" >}}
226246

227247
[1]: https://app.datadoghq.com/services?query=type%3Afunction%20&env=prod&groupBy=&hostGroup=%2A&lens=Security&sort=-attackExposure&view=list
228-
[2]: /serverless/distributed_tracing/
229-
[3]: https://app.datadoghq.com/security/appsec?column=time&order=desc
230-
[5]: /actions/workflows/
231-
[6]: /security/application_security/waf-integration/
232-
[7]: https://docs.datadoghq.com/serverless/serverless_integrations/plugin
233-
[8]: https://docs.datadoghq.com/serverless/libraries_integrations/extension
234-
[9]: https://docs.datadoghq.com/serverless/libraries_integrations/plugin/#configuration-parameters
235-
[10]: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html
236-
[11]: https://docs.datadoghq.com/serverless/serverless_integrations/cli
237-
[12]: https://github.com/DataDog/datadog-cdk-constructs
238-
[13]: https://app.datadoghq.com/organization-settings/api-keys
239-
[15]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html
248+
[2]: https://docs.datadoghq.com/serverless/serverless_integrations/plugin
249+
[3]: /actions/workflows/
250+
[4]: /security/application_security/waf-integration/
251+
[5]: https://docs.datadoghq.com/serverless/libraries_integrations/plugin/#configuration-parameters
252+
[6]: https://app.datadoghq.com/security/appsec?column=time&order=desc
253+
[7]: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html
254+
[8]: https://docs.datadoghq.com/serverless/serverless_integrations/cli
255+
[9]: https://github.com/DataDog/datadog-cdk-constructs
256+
[10]: https://app.datadoghq.com/organization-settings/api-keys
257+
[11]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html
240258
[apm-lambda-tracing-setup]: https://docs.datadoghq.com/serverless/aws_lambda/distributed_tracing/

content/en/security/application_security/setup/aws/lambda/go.md

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ further_reading:
2121
Configuring App and API Protection (AAP) for AWS Lambda involves:
2222

2323
1. Identifying functions that are vulnerable or are under attack, which would most benefit from AAP. Find them on [the Security tab of your Software Catalog][1].
24-
2. Setting up AAP instrumentation by using either the [Datadog CLI](https://docs.datadoghq.com/serverless/serverless_integrations/cli), [AWS CDK](https://github.com/DataDog/datadog-cdk-constructs), [Datadog Serverless Framework plugin][7], or manually by using the Datadog tracing layers.
24+
2. Setting up AAP instrumentation by using either the [Datadog CLI](https://docs.datadoghq.com/serverless/serverless_integrations/cli), [AWS CDK](https://github.com/DataDog/datadog-cdk-constructs), [Datadog Serverless Framework plugin][2], or manually by using the Datadog tracing layers.
2525
3. Triggering security signals in your application and seeing how Datadog displays the resulting information.
2626

2727
## Prerequisites
@@ -31,7 +31,7 @@ Configuring App and API Protection (AAP) for AWS Lambda involves:
3131

3232
## Compatibility
3333

34-
**Note**: Threat Protection through Remote Configuration is not supported. Use [Workflows][5] to block IPs in your [WAF][6].
34+
**Note**: Threat Protection through Remote Configuration is not supported. Use [Workflows][3] to block IPs in your [WAF][4].
3535

3636
The Datadog Go tracer is distributed as a Go module rather than a Lambda layer. Ensure your functions vendor the latest `github.com/DataDog/datadog-lambda-go` release when enabling AAP.
3737

@@ -50,7 +50,7 @@ Threat Detection supports HTTP requests as function input only, as that channel
5050
{{< tabs >}}
5151
{{% tab "Serverless Framework" %}}
5252

53-
The [Datadog Serverless Framework plugin][7] can be used to automatically configure and deploy your lambda with AAP.
53+
The [Datadog Serverless Framework plugin][2] can be used to automatically configure and deploy your lambda with AAP.
5454

5555
To install and configure the Datadog Serverless Framework plugin:
5656

@@ -74,9 +74,9 @@ To install and configure the Datadog Serverless Framework plugin:
7474
enableDDTracing: true
7575
enableASM: true
7676
```
77-
See also the complete list of [plugin parameters][9] to further configure your lambda settings.
77+
See also the complete list of [plugin parameters][5] to further configure your lambda settings.
7878

79-
4. Redeploy the function and invoke it. After a few minutes, it appears in [AAP views][3].
79+
4. Redeploy the function and invoke it. After a few minutes, it appears in [AAP views][6].
8080

8181
{{% /tab %}}
8282
{{% tab "Datadog CLI" %}}
@@ -99,7 +99,7 @@ The Datadog CLI modifies existing Lambda function configurations to enable instr
9999

100100
3. Configure the AWS credentials:
101101

102-
Datadog CLI requires access to the AWS Lambda service, and depends on the AWS JavaScript SDK to [resolve the credentials][10]. Ensure your AWS credentials are configured using the same method you would use when invoking the AWS CLI.
102+
Datadog CLI requires access to the AWS Lambda service, and depends on the AWS JavaScript SDK to [resolve the credentials][7]. Ensure your AWS credentials are configured using the same method you would use when invoking the AWS CLI.
103103

104104
4. Configure the Datadog site:
105105

@@ -138,12 +138,12 @@ The Datadog CLI modifies existing Lambda function configurations to enable instr
138138

139139
**Note**: Instrument your Lambda functions in a development or staging environment first. If the instrumentation result is unsatisfactory, run `uninstrument` with the same arguments to revert the changes. After the CLI completes, update your source code to depend on the latest `datadog-lambda-go` module release to enable App and API Protection.
140140

141-
Additional parameters can be found in the [CLI documentation][11].
141+
Additional parameters can be found in the [CLI documentation][8].
142142

143143
{{% /tab %}}
144144
{{% tab "AWS CDK" %}}
145145

146-
The [Datadog CDK Construct][12] automatically installs Datadog on your functions using Lambda Layers, and configures your functions to send metrics, traces, and logs to Datadog through the Datadog Lambda Extension.
146+
The [Datadog CDK Construct][9] automatically installs Datadog on your functions using Lambda Layers, and configures your functions to send metrics, traces, and logs to Datadog through the Datadog Lambda Extension.
147147

148148
1. Install the Datadog CDK constructs library:
149149

@@ -176,9 +176,9 @@ The [Datadog CDK Construct][12] automatically installs Datadog on your functions
176176

177177
To fill in the placeholders:
178178
- Replace `<DATADOG_SITE>` with {{< region-param key="dd_site" code="true" >}} (ensure the correct SITE is selected on the right).
179-
- Replace `<DATADOG_API_KEY_SECRET_ARN>` with the ARN of the AWS secret where your [Datadog API key][13] is securely stored. The key needs to be stored as a plaintext string (not a JSON blob). The `secretsmanager:GetSecretValue` permission is required. For quick testing, you can use `apiKey` instead and set the Datadog API key in plaintext.
179+
- Replace `<DATADOG_API_KEY_SECRET_ARN>` with the ARN of the AWS secret where your [Datadog API key][10] is securely stored. The key needs to be stored as a plaintext string (not a JSON blob). The `secretsmanager:GetSecretValue` permission is required. For quick testing, you can use `apiKey` instead and set the Datadog API key in plaintext.
180180

181-
More information and additional parameters can be found on the [Datadog CDK documentation][12].
181+
More information and additional parameters can be found on the [Datadog CDK documentation][9].
182182

183183
{{% /tab %}}
184184
{{% tab "Custom" %}}
@@ -207,9 +207,8 @@ The [Datadog CDK Construct][12] automatically installs Datadog on your functions
207207
DD_SERVERLESS_APPSEC_ENABLED: true
208208
```
209209

210-
4. Redeploy the function and invoke it. After a few minutes, it appears in [AAP views][3].
210+
4. Redeploy the function and invoke it. After a few minutes, it appears in [AAP views][6].
211211

212-
[15]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html
213212

214213
{{% /tab %}}
215214
{{< /tabs >}}
@@ -219,16 +218,13 @@ The [Datadog CDK Construct][12] automatically installs Datadog on your functions
219218
{{< partial name="whats-next/whats-next.html" >}}
220219

221220
[1]: https://app.datadoghq.com/services?query=type%3Afunction%20&env=prod&groupBy=&hostGroup=%2A&lens=Security&sort=-attackExposure&view=list
222-
[2]: /serverless/distributed_tracing/
223-
[3]: https://app.datadoghq.com/security/appsec?column=time&order=desc
224-
[5]: /actions/workflows/
225-
[6]: /security/application_security/waf-integration/
226-
[7]: https://docs.datadoghq.com/serverless/serverless_integrations/plugin
227-
[8]: https://docs.datadoghq.com/serverless/libraries_integrations/extension
228-
[9]: https://docs.datadoghq.com/serverless/libraries_integrations/plugin/#configuration-parameters
229-
[10]: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html
230-
[11]: https://docs.datadoghq.com/serverless/serverless_integrations/cli
231-
[12]: https://github.com/DataDog/datadog-cdk-constructs
232-
[13]: https://app.datadoghq.com/organization-settings/api-keys
233-
[15]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html
221+
[2]: https://docs.datadoghq.com/serverless/serverless_integrations/plugin
222+
[3]: /actions/workflows/
223+
[4]: /security/application_security/waf-integration/
224+
[5]: https://docs.datadoghq.com/serverless/libraries_integrations/plugin/#configuration-parameters
225+
[6]: https://app.datadoghq.com/security/appsec?column=time&order=desc
226+
[7]: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html
227+
[8]: https://docs.datadoghq.com/serverless/serverless_integrations/cli
228+
[9]: https://github.com/DataDog/datadog-cdk-constructs
229+
[10]: https://app.datadoghq.com/organization-settings/api-keys
234230
[apm-lambda-tracing-setup]: https://docs.datadoghq.com/serverless/aws_lambda/distributed_tracing/

0 commit comments

Comments
 (0)