Обеспечение пользователей MySQL только с минимальными полномочиями

Если все вышесказанное не работает, попробуйте удалить кеш из глобальной папки .gradle

Попробуйте следующее

rm -rf ~/.gradle/caches

react-native run-android

Если это не сработало, то для меня это отлично работало

rm -rf ~/.gradle

react-native run-android

20
задан nickf 3 December 2008 в 00:57
поделиться

2 ответа

Существуют другие полномочия, в которых пользователь, возможно, нуждался бы во время обычного приложения, например:

  • СОЗДАЮТ ВРЕМЕННУЮ ТАБЛИЦУ
  • , ВЫПОЛНЯЮТСЯ (хранимые процедуры)
  • ФАЙЛ (для ВЫБОРА В и ДАННЫХ ЗАГРУЗКИ)
  • ТАБЛИЦЫ БЛОКИРОВКИ

существует также возможность, что минимальный полномочия могли означать только ВЫБОР на определенных таблицах, и только ВЫБРАТЬ и ОБНОВИТЬ на других таблицах и т.д. Это подвержено изменениям любое время, функциональность приложения улучшена. И существуют странные случаи, как потребность иметь ИЗБРАННОЕ полномочие на таблице, которую Вы никогда не запрашиваете, потому что на это ссылаются внешние ключи в таблице, которую Вы ОБНОВЛЯЕТЕ. Так отслеживание минимальный полномочия является королевской болью.

, Что Вы пытаетесь ограничить при помощи полномочий SQL? Вы - тот, который написал весь код, таким образом, руководящие полномочия SQL при мелкоячеистости не должны быть необходимыми. Откровенно говоря, если Ваши пользователи могут загрузить и выполнить SQL-операторы, которые Вы не исследовали, у Вас есть большие проблемы:

SELECT * FROM mytable, mytable, mytable, mytable, mytable ORDER BY 1;

реальные задачи, которыми Вы хотите управлять, не на уровне базы данных, они на уровне бизнеса приложения. Например, CMS начинает операции, любят, создают страницу, редактируют страницу, администрируют комментарии, и т.д. Эти задачи являются высокоуровневыми, чем полномочия SQL. Вы могли подражать им с ролями SQL (которые являются группами полномочий), но роли SQL широко не поддерживаются.

я не знаю никого, кто отображает их пользователей приложения на отличных пользователей MySQL. Они - пользователи, которых Вы аутентифицируете в своем приложении, после , приложение соединилось с базой данных (пользователи являются просто строками данных в базе данных).

, Таким образом, Вы - вероятно, более обеспеченное наличие Вашего веб-приложения, используют единственного пользователя MySQL с полными полномочиями.

7
ответ дан 30 November 2019 в 00:23
поделиться

Веб-приложение обычно использует всего одного пользователя для доступа к DB, а не пользователю на фактическую учетную запись пользователя. Применение минимальных полномочий является хорошей практикой. Имя пользователя и пароль будут кодированными в Ваш сценарий (кто-либо запутывает это?), таким образом, существует место для компромисса, если Вашими сценариями не управляют правильно.

, По моему опыту, я очень, очень редко имеют приложение, удаляют строки - намного лучше для установки флага строки, столь удаленной, как у Вас затем есть аудит того, что там, а не не знающий, что было там! Этот подход также помогает сохранить таблицы и индексы оптимизированными.

Поэтому я предложил бы позволить, только ВСТАВЛЯЮТ, ОБНОВЛЯЮТ и ВЫБИРАЮТ - быстро станет очевидно, если части Вашего приложения должны быть ослаблены немного!

Разрешение большего количества полномочий может только расширить возможность для DoS-атак путем выдачи интенсивно использующих ресурсы команд или разрешения злонамеренных нападений данных.

3
ответ дан 30 November 2019 в 00:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: