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

В Drupal роль редактора можно создать и проверить примерно за 20–30 минут, если у вас есть права администратора и тестовая учётная запись. В конце вы получите отдельную роль с доступом только к нужным материалам, а не универсальную кнопку «разрешить всё».
Что нужно подготовить до начала
Инструкция рассчитана на Drupal 10.x и Drupal 11.x с административной темой Claro. Названия пунктов могут немного отличаться в русской локализации и после установки дополнительных модулей.
- учётную запись с правом управлять ролями и разрешениями;
- понимание, какой тип контента редактор будет создавать или менять;
- отдельную тестовую учётную запись без административных прав;
- доступ к резервной копии или тестовому стенду, если сайт уже работает в продакшене.
Не проверяйте новую роль под своей учётной записью администратора. Администратор может видеть больше, чем обычный пользователь, поэтому ошибка в разрешениях останется незаметной.
Сноска. RBAC (role-based access control) — модель, в которой доступ назначают не каждому пользователю отдельно, а роли. Пользователь получает набор разрешений через одну или несколько ролей.
Безопасная роль — это не список всего, что может понадобиться когда-нибудь. Это минимальный набор действий, который нужен человеку для конкретной работы.
Шаг 1. Опишите рабочий сценарий
Начните не с экрана разрешений, а с обязанностей. Для роли «Автор новостей» обычно нужны создание и редактирование собственных материалов, просмотр опубликованного контента и работа с изображениями. Доступ к пользователям, конфигурации сайта и разрешениям этой роли не нужен.
Запишите действия в виде короткого списка:
- какой тип материала пользователь создаёт;
- может ли он редактировать только свои материалы или все материалы этого типа;
- может ли он публиковать запись самостоятельно;
- нужно ли ему загружать изображения или документы;
- должен ли он видеть неопубликованные материалы других авторов.
Проверка: у вас есть список действий, а не расплывчатое требование «дать доступ к новостям». Это важно, потому что в Drupal разрешения на создание, редактирование и публикацию могут быть разными.
Шаг 2. Создайте отдельную роль
Откройте административное меню People или Пользователи, затем перейдите к разделу Roles или Роли. Нажмите кнопку добавления роли.
- Введите понятное имя, например «Автор новостей» или «Контент-редактор».
- Не называйте роль именем конкретного сотрудника. Сотрудники меняются, рабочая функция остаётся.
- Сохраните роль.
Проверка: новая роль появилась в списке. На этом этапе у неё ещё нет нужных разрешений, если вы не добавляли их в форме создания.
Какие роли уже есть в Drupal
В Drupal обычно присутствуют роли Anonymous и Authenticated. Первая применяется к неавторизованным посетителям, вторая — ко всем вошедшим пользователям. Не выдавайте широкие права роли Authenticated без проверки: их получит каждый зарегистрированный пользователь.
Роль Administrator и специальные административные права требуют отдельной осторожности. Не используйте их как быстрый способ исправить «Access denied» у редактора.
Шаг 3. Выберите разрешения
В списке ролей найдите созданную роль и откройте её разрешения. В Drupal 10 и 11 список строится по модулям: сначала идут права ядра, затем права установленных расширений. Используйте поиск по странице браузера, но проверяйте контекст каждого пункта.
Для простой редакторской роли обычно проверяют четыре группы:
- Контент. Просмотр опубликованного контента, создание материалов нужного типа, редактирование собственных материалов.
- Публикация. Право публиковать записи, если редактору не нужна проверка другим сотрудником.
- Файлы и изображения. Загрузка и использование файлов только в тех разделах, где это действительно необходимо.
- Таксономия. Работа с терминами, если редактору нужно выбирать или создавать категории.
Не отмечайте разрешения вроде Administer permissions, Administer users и Bypass content access control для обычного редактора. Последнее особенно опасно: оно обходит стандартные проверки доступа к материалам и способно открыть неопубликованные или ограниченные записи.
Не включайте все пункты модуля целиком. Например, право создавать материал не означает, что пользователю нужно редактировать материалы других авторов, удалять их или менять структуру типа контента.
Проверка: сохраните форму и снова откройте страницу разрешений. Выбранные пункты должны остаться отмеченными. Если Drupal показывает предупреждение о небезопасном разрешении, не подтверждайте его автоматически: сначала выясните, какую границу доступа оно снимает.
Шаг 4. Назначьте роль тестовому пользователю
Перейдите в People или Пользователи, найдите тестовую учётную запись и откройте её редактирование. В блоке ролей выберите созданную роль и сохраните пользователя.
Не снимайте роль Authenticated: Drupal назначает её вошедшим пользователям автоматически или использует её как базовую роль. Уберите только те дополнительные роли, которые могут исказить проверку, например роль администратора или старую редакторскую роль.
Проверка: в карточке тестового пользователя отображается только ожидаемый набор ролей. Откройте сайт в отдельном браузере или приватном окне и войдите под этой учётной записью.
Шаг 5. Проверьте доступ по сценариям
Проверяйте не только страницу создания материала. Ошибка часто прячется в соседнем действии: редактор может создать запись, но не может загрузить изображение, открыть список материалов или сохранить изменения.
- Откройте список материалов. Пользователь должен видеть только то, что предусмотрено сценарием.
- Создайте материал нужного типа. Проверьте обязательные поля, изображение, категорию и кнопку сохранения.
- Откройте сохранённый материал и попробуйте изменить его.
- Проверьте публикацию. Если публикация должна проходить через главного редактора, у тестового пользователя не должно быть соответствующего права.
- Откройте административные страницы, список пользователей и форму разрешений. Для обычной роли ожидаемый результат — отказ в доступе.
- Попробуйте изменить материал другого автора. Результат должен соответствовать выбранной модели: запрет либо разрешение.
Проверка каждого пункта должна быть записана: «разрешено», «запрещено» или «видно только своё». Такая матрица пригодится, когда в проекте появятся новые роли и модули.
Если не получилось
Появляется «Access denied»
Сначала проверьте, действительно ли тестовый пользователь получил нужную роль. Затем убедитесь, что роль имеет разрешение на конкретное действие, а не только на соседний раздел. Например, доступ к административной панели сам по себе не даёт права редактировать материалы.
Кнопка редактирования не отображается
Проверьте владельца материала и права на редактирование собственных или чужих записей. Если материал принадлежит другому пользователю, разрешение на редактирование своих материалов не поможет. Также проверьте, не добавлена ли у материала отдельная схема доступа из дополнительного модуля.
Материал создаётся, но не публикуется
Создание и публикация — разные действия. Посмотрите разрешения, связанные с публикацией нужного типа контента и переходом материала в опубликованное состояние. Если на сайте используется модерация, итог может зависеть ещё и от workflow.
Форма загрузки файла недоступна
Проверьте права на использование конкретного поля изображения или файла, а также ограничения самого поля: расширения, размер и допустимый каталог. Разрешение на создание материала не даёт автоматического доступа к каждому файловому полю.
После изменения ничего не поменялось
Выйдите из тестовой учётной записи и войдите снова. Затем очистите кэш через раздел производительности, если это разрешено вашей политикой эксплуатации. Если проблема сохраняется, временно отключать модули на рабочем сайте не стоит: сначала воспроизведите её на копии и проверьте журналы Drupal.
Где настройка ролей ломается
Стандартных разрешений Drupal достаточно для простого сайта, но они не решают все модели доступа. Когда правила зависят от автора, отдела, поля, языка, статуса или конкретной группы пользователей, одного списка галочек может быть мало.
- Дополнительный модуль может добавить собственные разрешения и изменить видимость материалов.
- Модерация контента может запретить переход в опубликованное состояние даже при наличии права редактирования.
- Доступ к меню не равен доступу к данным. Скрытый пункт меню не защищает страницу сам по себе.
- Несколько ролей складываются: пользователь получает объединение разрешений, а не наиболее строгий набор.
- Сложные правила доступа нужно проверять после обновления Drupal и модулей, потому что новые разрешения могут появиться автоматически.
Не выдавайте роль «для проверки» всем пользователям сайта. Создайте отдельную тестовую учётную запись и удалите её или заблокируйте после завершения работ.
Что делать дальше
Сохраните матрицу доступа рядом с документацией проекта: роль, действие, тип материала и ожидаемый результат. После установки нового модуля просматривайте его разрешения до того, как назначать роль сотрудникам. В продакшене отдельно отслеживайте попытки доступа с отказом и периодически проверяйте список пользователей с административными ролями.
Следующий практический шаг — проверить сценарий увольнения или смены должности: заблокировать пользователя, снять роль и убедиться, что его материалы не потеряли владельца и редакторский процесс. Это быстрее выявляет ошибки модели доступа, чем проверка одной кнопки «Создать материал».
Редактор изображений: Убрать лишнее, заменить фон, добавить объект, расширить кадр — на вашем изображении.
Спросить за 20 ₽Источники: Drupal User Guide: User roles and permissions, Drupal.org: Managing user accounts
Частые вопросы
Какая версия Drupal подходит для этой инструкции?
Почему пользователь видит больше, чем я разрешил его роли?
Можно ли выдать редактору право Bypass content access control?
Что делать, если я не успел проверить все сценарии до публикации?
Нужно ли очищать кэш после изменения роли?
Что делать, если в Drupal 11 экран отличается от инструкции?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.