0

As per documentation, it is mentioned :

Change Data Capture(CDC) respects your org’s field-level security settings. Delivered events contain only the fields that a subscribed user is allowed to view. Before delivering a change event for an object, the subscribed user’s field permissions are checked. If a subscribed user has no access to a field, the field isn’t included in the change event message that the subscriber receives.

Highlighted lines are confusing because of my limited understanding of CDC. what i think, it(CDC) publishes information in event bus via some channel. if information is published, it is published including whatever fields are changed. Now there could be multiple subscriber of that stream. What I failed to understand, how subcribed user's permissions are checked?

for e.g. let say we're using native connecter in Mulesoft to subscribe to one of such channel and it then send the information to some external system. Would this mean, such connector won't able to get those changed fields for which corresponding user(used by connector) has no access ?

if that is true, even then it is unclear, what is meant by statement "...field isn’t included in the change event message that the subscriber receives"

1

Here subscriber user in your use case will be user that you used to connect Mulesoft to the Salesforce org.

If the user that connects Mulesoft and Salesforce does not have the Field Level Security or object access then you won't see changed data about these fields!

Subscriber is outside Salesforce but it is interfaced through a user via Authorization and Authentication to Salesforce. Hence the connection will only see fields that the user has access to. Beyond that Salesforce has no control.

2
  • Hi Mohith.. this is exactly my confusion. CDC will push record having all fields that are changed, to event bus for subscriber's consumption. Subscriber is generally outside of salesforce. why it will check field level access OR do we mean, when subscriber will do polling, field check functionality is in-built within cometD programming which actually does the polling? It is hard to visualize this. What i know, CometD is just a javascript library which can poll events(and not a salesforce functionality). .why and how it will do field level access check?
    – sfdc_Qrius
    Jun 27 at 18:56
  • The way you should visualize is by the user that connects the external system to Salesforce. Beyond this, Salesforce has no control. Subscriber is outside Salesforce but it is interfaced through a user via Authentication to Salesforce. Hence that connection will only see fields that the user has access to. Beyond that Salesforce has no control. Hope that clarifies. Jun 27 at 19:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.