Права доступа и роли в Drupal: короткое руководство
Как создать роль в Drupal, выдать ей нужные разрешения и проверить доступ без риска открыть админку всем пользователям. Инструкция рассчитана на Drupal 10 и 11.

В Drupal права доступа определяют, что пользователь может видеть и делать: читать материалы, создавать записи, редактировать контент или менять настройки сайта. За 15–30 минут вы создадите отдельную роль, назначите ей минимальный набор разрешений и проверите результат под тестовой учётной записью.
Что подготовить до начала
Инструкция подходит для Drupal 10 и Drupal 11. Названия пунктов могут немного отличаться из-за языка интерфейса, установленных модулей и административной темы.
- учётную запись с разрешением Administer permissions или с эквивалентным доступом к управлению правами;
- понимание задачи роли: например, редактор должен работать с материалами, но не менять конфигурацию сайта;
- отдельную тестовую учётную запись без административных ролей;
- резервную копию базы данных или возможность быстро восстановить конфигурацию.
Не проверяйте новую роль под своей учётной записью администратора: администратор может получить доступ независимо от ограничений роли, и ошибка останется незаметной.
Безопасная роль даёт ровно тот доступ, который нужен для работы, и не больше. Переключатель с названием «администрирование» почти всегда требует отдельной проверки.
Как устроены роли и разрешения в Drupal
Пользователь Drupal получает права через одну или несколько ролей. Роль — это набор разрешений, а разрешение — конкретное действие, например создание материала определённого типа или просмотр опубликованного контента.
У Drupal есть специальные роли для анонимных и авторизованных пользователей. Анонимный пользователь не вошёл в систему, авторизованный вошёл, но это не делает его администратором. Дополнительные роли вы создаёте сами.
Если пользователю назначены несколько ролей, его доступ складывается из разрешений всех этих ролей. Отозвать право одной ролью нельзя, если оно по-прежнему приходит через другую.
Разрешение — настройка, которая отвечает за одно действие или группу действий пользователя. Точный список зависит от ядра Drupal и установленных модулей.
Пошаговая настройка роли
Шаг 1. Опишите границы доступа
До открытия админки запишите три списка: что сотрудник должен делать, что может видеть и что ему запрещено. Для роли редактора это может выглядеть так:
- создавать и редактировать материалы;
- просматривать черновики и страницы модерации;
- не менять пользователей, роли, модули, тему и общую конфигурацию.
Так вы не будете выбирать разрешения по названию наугад. Проверка шага: для каждой будущей возможности есть понятное действие, а не расплывчатое «доступ к сайту».
Шаг 2. Создайте роль
Откройте People или Люди, затем перейдите в раздел Roles и нажмите Add role. Введите понятное название: например, «Контент-редактор» или «Оператор поддержки».
Не называйте роль по имени сотрудника. Роль описывает функцию, а не конкретного человека: когда сотрудник уйдёт, доступ можно будет передать другому пользователю.
Сохраните роль. Проверка шага: новая роль появилась в списке ролей и пока не назначена лишним пользователям.
Шаг 3. Найдите нужные разрешения
Откройте People → Permissions. Drupal сгруппирует разрешения по модулям. Используйте поиск браузера по странице, но проверяйте строку целиком: похожие разрешения могут отличаться областью действия.
Для контентной роли сначала ищите разрешения, связанные с нужным типом материала. Обычно это действия вроде создания нового материала, редактирования собственного или любого материала, удаления собственного или любого материала, а также просмотра неопубликованного контента.
Не включайте разрешения вроде Administer permissions, Administer users, управления модулями или конфигурацией, если рабочая задача прямо этого не требует. Проверка шага: у каждого включённого разрешения есть конкретное объяснение, зачем оно нужно.
Шаг 4. Назначьте разрешения роли
Поставьте флажки только в колонке созданной роли и нажмите кнопку сохранения внизу страницы. Не меняйте одновременно права анонимных и всех авторизованных пользователей: это отдельная зона риска.
Особенно внимательно проверьте права на удаление, публикацию и просмотр черновиков. Они часто опаснее, чем право создать новый материал.
Проверка шага: после сохранения откройте страницу разрешений заново и убедитесь, что выбранные флажки сохранились именно у нужной роли.
Шаг 5. Назначьте роль тестовому пользователю
Перейдите в People, найдите тестовую учётную запись и откройте её редактирование. В блоке ролей выберите новую роль и сохраните пользователя.
Не назначайте тестовой записи роль администратора. Иначе проверка будет показывать расширенный доступ, а не результат настройки.
Проверка шага: в профиле тестового пользователя отображается новая роль, а у обычной рабочей учётной записи список ролей не изменился.
Шаг 6. Проверьте доступ в отдельном сеансе
Войдите под тестовой учётной записью в другом браузере или в приватном окне. Проверьте не только разрешённое действие, но и несколько запрещённых:
- откройте страницу создания нужного типа материала;
- создайте тестовую запись и проверьте, можно ли сохранить её в нужном статусе;
- попробуйте открыть раздел управления пользователями;
- проверьте страницу ролей и разрешений;
- попробуйте изменить чужой материал, если это не входит в задачу роли.
Проверка шага: разрешённые страницы открываются, а запрещённые показывают отказ в доступе или не содержат недоступных элементов интерфейса. Проверяйте оба варианта: скрытая кнопка не заменяет проверку серверного доступа.
Если доступ работает не так, как ожидалось
Появляется «Access denied» или «You are not authorized to access this page»
У роли нет нужного разрешения либо пользователь не получил роль. Откройте профиль тестового пользователя, проверьте назначение роли, затем вернитесь к списку разрешений и сохраните его ещё раз. Если ошибка возникает только для конкретного материала, проверьте доступ к самому типу материала и ограничения, заданные модулями.
Пользователь видит больше, чем должен
Сначала проверьте все роли пользователя. Доступ может приходить из роли «авторизованный пользователь» или из другой дополнительной роли. Снимите лишнюю роль и повторите проверку в новом сеансе браузера.
Разрешение есть, но кнопки нет
Кнопка может зависеть от статуса материала, типа контента, владельца записи или другого разрешения. Например, право редактировать собственные материалы не даёт права изменять чужие. Проверьте задачу на записи, которая действительно подходит под условие разрешения.
После изменения права ничего не поменялось
Выйдите из аккаунта и войдите снова, чтобы исключить старую сессию. Затем очистите кеш через административный интерфейс или штатную процедуру, если это требуется вашей конфигурации. Не удаляйте кеш вручную на сервере без понимания структуры проекта.
Роль получила слишком широкие права
Откройте список разрешений и уберите всё, что не связано с рабочим сценарием. После этого проверьте не только интерфейс, но и прямые URL административных страниц. Скрытая ссылка не считается защитой: сервер должен сам отказать в доступе.
Что часто ломает модель доступа
- Одинаковая роль для редактора и администратора. Удобство настройки оборачивается доступом к пользователям, конфигурации и разрешениям.
- Проверка только по меню. Пользователь может не видеть ссылку, но всё ещё иметь доступ при прямом переходе по адресу.
- Право на редактирование вместо права на публикацию. Эти действия могут быть разделены задачей и настройками конкретного типа контента.
- Назначение нескольких ролей без инвентаризации. Итоговые права складываются, поэтому источник лишнего доступа бывает неочевиден.
- Изменение прав без тестовой записи. На результат могут влиять автор материала, его статус, язык, тип контента и сторонние модули.
Как безопасно менять роли на рабочем сайте
Сначала зафиксируйте текущий список разрешений и назначенных ролей. Затем меняйте одну группу прав за раз и проверяйте сценарии под обычной учётной записью. Для важных проектов храните изменения конфигурации в принятом у команды процессе деплоя, а не только в ручных кликах по production.
Если разрешение добавляет сторонний модуль, прочитайте его описание: модуль может создавать несколько похожих пунктов, и их смысл не всегда очевиден из короткого названия. Настройки доступа к полям, просмотру сущностей и workflow также могут находиться не в общем разделе роли.
Что делать дальше
Создайте матрицу доступа для основных функций сайта: редактор, автор, модератор и администратор. В каждой строке укажите действие, тип контента и ожидаемый результат. После следующего обновления Drupal или модуля повторите проверку тестовой учётной записью и отдельно проверьте прямой доступ к административным URL.
Для справки используйте официальное руководство Drupal по пользователям, ролям и разрешениям. Если сайт использует сложную схему публикации, следующей задачей будет проверка workflow и доступа к черновикам: это отдельная тема, здесь разобраны только базовые роли и разрешения.
Антиблок-аналитик 115-ФЗ: Анализ выписок, поиск рисков блокировки счёта, инструкции по безопасным транзакциям.
Спросить за 41 ₽Источники: Drupal User Guide: User roles and permissions, Drupal.org: Permissions API
Частые вопросы
Можно ли дать пользователю несколько ролей одновременно?
Почему пользователь видит административную страницу, хотя я не давал ему роль администратора?
Можно ли проверить права без создания отдельного пользователя?
Что делать, если после настройки появилась ошибка Access denied?
Нужно ли очищать кеш после изменения роли?
Можно ли выдать редактору право менять настройки сайта?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.