How can I make sure the profile permissions for reports are enforced for an account's SOAP and REST API calls?
Environment:
Oracle B2C Service
20D and newer
Resolution:
There is a hidden configuration setting which maps profile reports permissions to SOAP and REST API permissions:
REPORT_PERMISSIONS_ENABLED
- This setting specifies whether server-side access control enforcement is enabled for reports requests.
- This setting is enabled by default for all new sites, but is disabled on some older sites.
As this setting is hidden, if you would like it to be enabled submit a service request to Ask Technical Support, but please take these facts into consideration before doing so:
1. It will affect all your current integrations
2. Once enabled, it cannot be disabled
It is highly recommended that you test its implications on a test site before enabling it on your production site. Once it is enabled an API request for a report that the user's profile does not have permission to will contain the below error message in the response.
"Error in POST data: Cannot run AnalyticsReport: ReportName(ID=101234): REPORT_ERROR_PERMISSION_DENIED"