Назад | Перейти на главную страницу

Как настроить оболочку хранимой процедуры и параметры безопасности для обеспечения безопасного доступа к операциям командной строки?

В конечном итоге я пытаюсь найти способ разрешить безопасное использование BCP и выбрать другие функции командной строки из SQL Server.

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

Моя идея до сих пор состоит в том, чтобы создать хранимую процедуру оболочки, которая выполняет операции командной строки от имени пользователя. Операция будет передана пользователем в виде строки, которая затем может быть

  1. проверил, чтобы убедиться, что он не содержит явно изворотливых вещей - я нашел здесь функцию, которая должна помочь с этим (http://msdn.microsoft.com/en-us/library/aa175398(v=sql.80).aspx)
  2. разрешать вызовы только определенных программ или операций - в моем случае первый из них - BCP

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

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

Спасибо

Сэм

Более безопасным и, возможно, намного более простым способом предоставить пользователям доступ к инструментам командной строки, таким как BCP, было бы использование такого инструмента, как System Frontier.

Команды будут запускаться на вашем SQL-сервере под учетной записью, которая имеет надлежащий доступ, в то время как пользователь, запускающий его, не должен иметь никакого доступа на сервере или входа в систему SQL. Также не нужно беспокоиться об использовании xp_cmdshell. Кроме того, все, например, кто его запускал и какие выходные данные, записывается в таблицу аудита.

Полное раскрытие информации: я владею компанией, которая это делает.

Джей