Кто может «уволить» DBA?
Проверьте, каким логинам были предоставлены полномочия администратора или администратора безопасности.
Не думайте о них как о логинах.
Думайте о них как о людях, которые могут вас уволить.
Эти люди могут удалять базы данных, удалять таблицы, изменять хранимые процедуры, редактировать данные или даже изменять настройки конфигурации SQL Server, такие как максимальная память сервера или maxdop. Вероятно, вас не настораживают моменты, когда что-то из этого меняется - но мы ведь не можем позволить себе контролировать все изменения SQL Server и отправлять предупреждения на каждое из них. В какой-то момент мы должны начать доверять определенным логинам и их действиям, именно для этого вам и нужно знать полномочия некоторых логинов.
Как начать работу с блокировкой
Прежде чем приступить к удалению прав системного администратора, помните, что могут быть последствия. В одном магазине права администратора для главного разработчика были удалены, и он утром ворвался в офис администратора DBA. Оказывается, одно из его приложений автоматически создавало базу обработки данных каждую ночь, выполняло в ней кучу работы. Никто не знал об этом, потому что это занимало около 30-45 минут. Проблему можно было бы избежать, сообщив об изменениях заранее, и именно здесь мы должны начать.
Покажите логинов с правами администратора вашему менеджеру и скажите что-то вроде этого:
«Вот список людей, которые могут сделать все что угодно на рабочем сервере: удалить данные, базы данных или изменить параметры производительности. Если они это сделают, вот список приложений, на которые это повлияет, включая учет и начисление заработной платы. Я не хочу лишать их всех прав - а лишь предоставить им полные права только для их базы данных, но не в каких-либо других базах данных, и не на уровне сервера. Могу ли я поговорить с ними об этом? "
Обратите внимание, что мы собираемся только поговорить с ними, а не сразу же делать это, потому что нам нужно сначала связаться с ними. Затем перейдите к конечным пользователям или разработчикам и скажите:
«Мы начинаем блокировать рабочий сервер, но я хочу убедиться, что у вас есть все разрешения, необходимые вам. Я собираюсь сделать вас полным владельцем базы данных внутри вашей базы данных, чтобы вы могли делать все, что захотите, Но я собираюсь отнять ваши права на другие базы данных (например, бухгалтерский учет и начисление заработной платы), и я собираюсь удалить ваши разрешения на изменение настроек на уровне сервера, например, сколько памяти может использовать сервер. Я делаю это в следующий уик-энд и хочу, чтобы у вас были мой адрес электронной почты и номер телефона, так что если что-то случится в этот день, вы можете позвонить мне, и я могу проверить, что происходит на сервере, чтобы узнать, связано ли это с изменениями прав доступа».
Работа на сопротивление
Если вы встречаете какое-либо сопротивление от разработчиков или пользователей, обратитесь к менеджерам проектов или людям, которые имеют большее влияние относительно конкретной базы данных. Например, если бухгалтерская база данных находится на сервере, обратитесь к финансовому директору и скажите:
«Вот список людей, которые могут удалить систему учета. У них есть разрешения на удаление базы данных в любой момент времени, и я ничего не могу сделать, чтобы остановить это. Я хочу, чтобы это изменилось, могу ли я запланировать короткую встречу с вами и проектным менеджером, чтобы все были в курсе изменений и согласны с ними? "
Вам нужно перевести это в бизнес-проблему, а не в техническую проблему, и финансовый директор точно будет на вашей стороне. Он не сможет позволить работе своего отдела прекратиться только потому, что какой-то разработчик не поставил условие WHERE в оператор T-SQL.
Никакого веселья
Мы уже создали таблицу наших серверов, и теперь пришло время заполнить несколько подробностей. Поскольку мы анализируем безопасность, нам нужно знать, какие приложения живут на каждом сервере, и кто отвечает за каждое из этих приложений. Вам необязательно указывать, кто имеет права на чтение и запись в каждой базе данных, но вам нужно хотя бы знать бизнес-цель и контактную информацию.