I’m not sure I understand the question, but as I understand it - the markings propagate regardless of the permissions of the users, but you won’t be able to build the dataset if it has an input that you can’t see. So in your case, you won’t be able to build Dataset B at all if you can’t see Marking 2 [which is on A].
Basically I want to protect my users from unexpected Markings that are accidentally propagated from upstream locking them out.
I am not sure if this would be possible, by design, since what if you genuinely wanted to introduce a new marking and lock out users who don’t have permission anyways?