Выбор разрешений был отменен в SQL Server, но пользователь все еще может получить доступ ко всем таблицам - PullRequest
0 голосов
/ 12 апреля 2019

Я отменил разрешения на выбор для пользователя в SQL Server и дал им доступ к одной таблице, но пользователь все еще может запрашивать все таблицы.

REVOKE SELECT ON "dbo"."TableName" FROM "Domain\user.name"

У меня есть двойная и тройная проверка всех разрешений как для входа в систему, так и для пользователя. Может кто-нибудь, пожалуйста, направьте меня в правильном направлении?

1 Ответ

1 голос
/ 12 апреля 2019

Чтобы определить все разрешения, которые кто-то может иметь в SQL, вам нужно посмотреть:

  • Имя входа SQL, настроенное для входа в домен. Является ли он членом каких-либо групп уровня сервера? Есть ли у него какие-либо разрешения на уровне сервера?
  • К каким базам данных он имеет доступ?
  • Какие разрешения у этих баз данных есть?

Полагаю, вы уже сделали это. Следующий уровень:

  • Укажите все группы доменов, для которых были созданы логины SQL.
  • Определите, к какой из этих групп относится ваш пользователь. Выполните те же проверки, что и выше, например, что могут делать члены этой группы в этом экземпляре SQL.
  • Обратите внимание, что доменные группы могут содержать доменные группы. В зависимости от того, насколько вы контролируете (или не контролируете) администраторов домена, у вас могут возникнуть безумные уровни вложенности. И это в Домене, активном каталоге, который вы можете иметь или не иметь достаточных прав доступа для подробного просмотра.
  • Не забывайте, что локальные (для этого компьютера) группы часто устанавливаются по умолчанию. Является ли пользователь членом группы локальных компьютеров с повышенными правами? Вы ничего не узнаете об этом на уровне домена.

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

Обратите внимание, что это было с моей головы. Настройка безопасности SQL - это темное искусство; выяснить, кто был настроен на то, что может быть кошмаром (и хуже, когда имеешь дело с приложениями, работающими на системных учетных записях.) Удачи!

...