Рейтинг:1

Для каких таблиц пользователь MariaDB должен иметь разрешения CRUD для просмотра сайта?

флаг bn

Я пытаюсь заблокировать базу данных при установке Drupal 9, чтобы люди могли просматривать веб-сайт, но не могли писать на него.

У меня есть 2 пользователя в MariaDB с доступом к базе данных. Я хочу настроить одну учетную запись так, чтобы она могла писать только в необходимые таблицы для просмотра, и предоставить другой учетной записи полные разрешения. Для каких таблиц первая учетная запись должна иметь разрешения CRUD?

Чтобы определить, какого пользователя использовать, я собираюсь установить переменную среды, которая будет определять субдомен (admin.site.com) и соответствующим образом назначать настройки базы данных. Я заблокировал доступ к страницам администрирования/входа Drupal в основном домене, но разрешил полный доступ на admin.site.com. Поддомен находится на отдельном IP-адресе, чем основной домен, и брандмауэр блокирует доступ на основе IP-адреса подключающегося пользователя.

Jaypan avatar
флаг de
Я не знаю, почему кто-то проголосовал за этот вопрос - это разумный вопрос. Это связано с Drupal, объясняет проблему, и лично я хотел бы знать ответ сам. Я проголосовал за этот вопрос.
флаг cn
Я как раз писал буквально то же самое, когда появился последний комментарий - почти невозможно ответить на него исчерпывающе (из-за модулей contrib/custom), но ответ, касающийся общей теории для ядра, по крайней мере, наверняка был бы полезен для многих люди
apaderno avatar
флаг us
Я бы сказал, что каждая таблица базы данных, созданная из Drupal, используется для записи данных, когда доступ к сайту осуществляется от пользователя-администратора. Если мы исключим пользователя № 1 или пользователей-администраторов с полными разрешениями на сайте, могут быть таблицы базы данных, которые не записываются, когда эти пользователи получают доступ к сайту.Мы не можем дать полный список, потому что то, какие таблицы базы данных никогда не записываются, когда пользователи-администраторы обращаются к сайту, зависит от их разрешений, от того, какие модули установлены, от их версий, версии ядра Drupal и от того, какие функции ядра Drupal включены.
blur avatar
флаг bn
Спасибо за комментарии. Сейчас меня в основном беспокоит ядро, и я просто блокирую общедоступного пользователя БД от вставки в базу данных. Может быть, я просто просмотрю таблицы одну за другой, настроив разрешения, чтобы посмотреть, что произойдет. Я постараюсь сделать заметки и опубликовать здесь, если никто не нашел решения. Разве нет модуля, который показывает, что SQL-запросы используются на странице?
флаг ru
Если все в вашем интерфейсе в основном статично и доступно только для чтения для анонимных конечных пользователей, лично я бы использовал [Tome] (https://www.drupal.org/project/tome) или Gatsby. Это еще более безопасно и более эффективно. В частности, Tome не требует особых усилий для настройки (если у вас нет динамического контента, такого как представления с открытыми фильтрами свободного текста), и нет ничего более безопасного, чем простой HTML.
apaderno avatar
флаг us
Учетная запись базы данных *public* используется для тех пользователей, которые посещают сайт, которым не разрешено создавать комментарии, публиковать контент и создавать учетные записи, а учетная запись *private* используется для пользователей-администраторов, которые получают доступ к сайту с помощью определенного поддомен. Я правильно это понял?
blur avatar
флаг bn
Это верно.
apaderno avatar
флаг us
Я собирался опубликовать ответ, но всего с двумя таблицами базы данных он был бы неполным. Довольно сложно понять, читая код, какие таблицы используются для записи данных, когда доступ к сайту осуществляется только для чтения данных. Проще сказать, какие модули не следует включать, чтобы избежать записи данных, когда сайт используется только для чтения данных от анонимных пользователей.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.