[APPSEC-60218] Fix AWS API Gateway endpoints correlation HTTP span tags#967
[APPSEC-60218] Fix AWS API Gateway endpoints correlation HTTP span tags#967dd-mergequeue[bot] merged 8 commits intomainfrom
Conversation
c071b3d to
156c74e
Compare
|
Is the |
|
No, it’s not exclusive to API Gateway. Right now, the tag already exists and appears to be set by the backend (since it is already always present and the value we set for API Gateway is being overwrited by the Lambda function ARN instead). The backend team will need to investigate this behavior later, but it shouldn’t block the current work. |
|
|
||
| let identified_trigger = IdentifiedTrigger::from_value(payload_value); | ||
| let dd_resource_key = | ||
| Self::get_api_gateway_resource_key(&identified_trigger, &aws_config.region); |
There was a problem hiding this comment.
Could you make this a trait method for Triggers as opposed to make it API Gateway specific?
You don't need to implement it for every inferred span, but I want to make sure the SpanInferrer class doesn't do any trigger-specific logic unless required
| ); | ||
| s.meta.insert("span.kind".to_string(), "server".to_string()); | ||
| let appsec_enabled = self.config.serverless_appsec_enabled; | ||
| propagate_appsec(appsec_enabled, invocation_span, s); |
There was a problem hiding this comment.
Why does the json need to be propagated up for the inferred spans?
There was a problem hiding this comment.
This is to address an issue raised by a customer who wants to be able to link attacks to API Gateway endpoints... Initially we wanted to do it backend-side, but we cannot guarantee the spans are in the same chunk so that was problematic... Copying the attack data to the inferred span makes this problem go away.
duncanista
left a comment
There was a problem hiding this comment.
Left a comment and a question!
Thanks for contributing 💯
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
Overview
Implementing changes from RFC 1081.
span.typeasweboperation_nameandapiname(in api gateway REST, HTTP and websocket)dd_resource_keyTesting
operation_nameoccurence