Does data Masking has any performance issues in Apigee

When does data masking takes place in a flow? Does it happen in Proxy Pre-Flow? What if I have to transform a JSON request payload received(in proxy Pre-Flow), to XML payload before sending it to Target endpoint(in target Pre-Flow). Does the Mask configuration applies on both places?

How good is performance of masking, are there any side-effects of masking if we have dealing with large request/response payloads?

0 6 244
6 REPLIES 6

Hi @Jassir Wani

When you debug APIs calls in Edge using Trace, only that time datamasking is invoked.

Here is the link to Apigee documentation page.

https://docs.apigee.com/api-platform/security/data-masking

Please refer following community post about if tracing affects performance or not?

https://community.apigee.com/questions/59415/can-tracing-using-the-ui-deteriorate-performance.html

Hi @Jayesh

I have read the documentation. And I am talking about the masking data in logs generated by Apigee for a transaction.

Hi @Jassir

Please refer to following community post , It explains Datamasking is only done for tracing and not for log generated for transactions.

https://community.apigee.com/questions/12014/data-masking-functionality-that-is-offered-by-apig.html

What if I have to transform a JSON request payload received(in proxy Pre-Flow), to XML payload before sending it to Target endpoint(in target Pre-Flow). Does the Mask configuration applies on both places?

As Jayesh has mentioned, Datamasking applies only to "debugsessions" , which is the thing that powers the Trace UI. (You can also create a debugsession programmatically via the Admin API.)

The mask configuration includes JSONPath and XPath elements. If you have set these elements, then the JSONPath masks will apply to the JSON, before you transform, and XPath masks will apply to the XML, after you transform. Remember: this means the data is masked in the debugsession. The data is not actually changed in the message itself.

I completely agree with that. My question was related to applying masking logic for logs generated by Apigee. If we use some kind of script/java code for that, how effective it is going to be and will it have any impact on performance of API?

My question was related to applying masking logic for logs generated by Apigee. If we use some kind of script/java code for that

can you elaborate more on what you're thinking here? Where and how is this masking applied? And which logs are we speaking of?