You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #35536 we have added a new field for every audit event record, namely request.id. The goal was to use this id to correlate audit events.
For example, in:
The two authentication_success and access_granted events are correlated by the same DnbbcktES8ubfXgbBsdjbw id.
The problem is that this link gets broken when the transport action does a CRUD operation on an index. This is because these internal CRUD operations are guarded by executeAsyncWithOrigin which has the purpose of overriding the authorization of the internal operation by an internal, more restricted, user. But while doing this, we also clear the threadContext holding the request.id, so even if these CRUD actions are related (by causation) to the transport action they would be having different request.ids.
These are all related to the first two events in the previous block, but have a different request.id that has been generated anew, after switching context.
I suggest we keep the request.id as well as the opaque_id across the executeAsyncWithOrigin context switch.
The text was updated successfully, but these errors were encountered:
In #35536 we have added a new field for every audit event record, namely
request.id
. The goal was to use this id to correlate audit events.For example, in:
The two
authentication_success
andaccess_granted
events are correlated by the sameDnbbcktES8ubfXgbBsdjbw
id.The problem is that this link gets broken when the transport action does a CRUD operation on an index. This is because these internal CRUD operations are guarded by
executeAsyncWithOrigin
which has the purpose of overriding the authorization of the internal operation by an internal, more restricted, user. But while doing this, we also clear thethreadContext
holding therequest.id
, so even if these CRUD actions are related (by causation) to the transport action they would be having differentrequest.id
s.For example:
These are all related to the first two events in the previous block, but have a different
request.id
that has been generated anew, after switching context.I suggest we keep the
request.id
as well as theopaque_id
across theexecuteAsyncWithOrigin
context switch.The text was updated successfully, but these errors were encountered: