In the case where an administrator wishes to prevent access to all columns but a relatively few, they should be able to:
Uncheck the model (which causes all subordinate objects to be unchecked)
Check the small number to which access is desired.
What happens is once the model is unchecked, the subordinate objects cannot be checked. (Also, if all subordinate objects are manually unchecked, the model has a grayed-out check as if there is a checked subordinate object. If all objects under a model are unchecked, the model itself should also be unchecked.)