Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package com.datadog.appsec.api.security

import static datadog.trace.api.config.AppSecConfig.API_SECURITY_DOWNSTREAM_BODY_ANALYSIS_SAMPLE_RATE
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE

import com.datadog.appsec.gateway.AppSecRequestContext
import datadog.trace.api.Config
import datadog.trace.test.util.DDSpecification

class ApiSecurityDownstreamSamplerTest extends DDSpecification {
Expand Down Expand Up @@ -43,4 +48,22 @@ class ApiSecurityDownstreamSamplerTest extends DDSpecification {
where:
rate << [-1.0, 0.0, 0.1, 0.25, 0.5, 0.75, 0.9, 1.0, 2.0]
}

void 'test config aliases'() {
setup:
injectSysConfig(env, "0.25")

when:
final value = Config.get().getApiSecurityDownstreamRequestBodyAnalysisSampleRate()

then:
value == 0.25

where:
env << [
API_SECURITY_DOWNSTREAM_BODY_ANALYSIS_SAMPLE_RATE,
API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE,
API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE,
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ public final class AppSecConfig {
"api-security.endpoint.collection.enabled";
public static final String API_SECURITY_ENDPOINT_COLLECTION_MESSAGE_LIMIT =
"api-security.endpoint.collection.message.limit";
public static final String API_SECURITY_DOWNSTREAM_BODY_ANALYSIS_SAMPLE_RATE =
"api-security.downstream.body.analysis.sample_rate";
public static final String API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE =
"api-security.downstream.request.analysis.sample_rate";
public static final String API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE =
Expand Down
6 changes: 4 additions & 2 deletions internal-api/src/main/java/datadog/trace/api/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@
import static datadog.trace.api.config.AIGuardConfig.DEFAULT_AI_GUARD_MAX_CONTENT_SIZE;
import static datadog.trace.api.config.AIGuardConfig.DEFAULT_AI_GUARD_MAX_MESSAGES_LENGTH;
import static datadog.trace.api.config.AIGuardConfig.DEFAULT_AI_GUARD_TIMEOUT;
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_DOWNSTREAM_BODY_ANALYSIS_SAMPLE_RATE;
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE;
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE;
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_ENABLED;
Expand Down Expand Up @@ -2330,9 +2331,10 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
DEFAULT_API_SECURITY_MAX_DOWNSTREAM_REQUEST_BODY_ANALYSIS);
apiSecurityDownstreamRequestBodyAnalysisSampleRate =
configProvider.getDouble(
API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE,
API_SECURITY_DOWNSTREAM_BODY_ANALYSIS_SAMPLE_RATE,
DEFAULT_API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE,
API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE);
API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE,
API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE);

// Trace Resource Renaming (Endpoint Inference) configuration
// Default: enabled if AppSec is enabled, otherwise disabled
Expand Down
8 changes: 8 additions & 0 deletions metadata/supported-configurations.json
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,14 @@
"aliases": []
}
],
"DD_API_SECURITY_DOWNSTREAM_BODY_ANALYSIS_SAMPLE_RATE": [
{
"version": "A",
"type": "decimal",
"default": "0.5",
"aliases": ["DD_API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE", "DD_API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE"]
}
],
"DD_API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE": [
{
"version": "A",
Expand Down
Loading