В Drupal для каждой ноды существует всего три права разрешений это: просмотр, редактирование, удаление. Перед выполнением каждого из прав, всегда запрашивается функция: node_access(), в которой определен доступ на выполнения действий, функция отдает всегда NULL, она выполняет действие - запрашивает все модули в которых есть реализация хука: hook_node_grants(), и уже в этом хуке определяется есть ли доступ к материалу.