Поделиться через


Реализация безопасности агента SQL Server

Агент SQL Server позволяет администратору базы данных выполнять каждый шаг задания в контексте безопасности, который имеет только разрешения, необходимые для выполнения этого шага задания, который определяется прокси-сервером агента SQL Server. Чтобы задать разрешения для определенного шага задания, создайте прокси-сервер с необходимыми разрешениями, а затем назначьте этот прокси-сервер шагу задания. Прокси-сервер можно указать для нескольких шагов задания. Для шагов задания, требующих одинаковых разрешений, используется тот же прокси-сервер.

В следующем разделе объясняется, какую роль базы данных необходимо предоставить пользователям, чтобы они могли создавать или выполнять задания с помощью агента SQL Server.

Предоставление доступа к агенту SQL Server

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

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Эти роли хранятся в базе данных msdb . По умолчанию пользователь не является членом этих ролей базы данных. Членство в этих ролях должно быть предоставлено явным образом. Пользователи, являющиеся членами предопределенных ролей сервера sysadmin , имеют полный доступ к агенту SQL Server и не должны быть членом этих предопределенных ролей базы данных для использования агента SQL Server. Если пользователь не является членом одной из этих ролей базы данных или роли sysadmin , узел агента SQL Server недоступен для них при подключении к SQL Server с помощью SQL Server Management Studio.

Члены этих ролей базы данных могут просматривать и выполнять задания, которыми они владеют, а также создавать шаги заданий, выполняемых от имени существующей учетной записи прокси. Дополнительные сведения о конкретных разрешениях, связанных с каждой из этих ролей, см. в разделе "Фиксированные роли базы данных агента SQL Server".

Члены предопределенной роли сервера sysadmin имеют разрешение на создание, изменение и удаление учетных записей прокси-сервера. Члены роли sysadmin имеют разрешение на создание шагов задания, которые не указывают прокси-сервер, но вместо этого запускаются в качестве учетной записи службы агента SQL Server, которая является учетной записью, которая используется для запуска агента SQL Server.

Руководящие принципы

Выполните следующие рекомендации, чтобы повысить безопасность реализации агента SQL Server:

  • Создайте выделенные учетные записи пользователей специально для прокси-серверов и используйте только эти учетные записи пользователей-прокси для выполнения шагов задания.

  • Предоставьте только необходимые разрешения учетным записям пользователей-посредников. Предоставьте только эти разрешения, необходимые для выполнения шагов задания, назначенных определенной учетной записи прокси-сервера.

  • Не запускайте службу агента SQL Server в учетной записи Microsoft Windows, являющейся членом группы администраторов Windows.

  • Прокси-серверы защищены только в хранилище учетных данных SQL Server.

  • Если операции записи пользователей могут записываться в журнал событий NT, они могут вызывать оповещения с помощью агента SQL Server.

  • Не указывайте учетную запись администратора NT в качестве учетной записи службы или учетной записи-посредника.

  • Обратите внимание, что SQL Server и агент SQL Server имеют доступ к ресурсам друг друга. Две службы используют одно пространство обработки, а агент SQL Server — системный администратор в службе SQL Server.

  • При подключении TSX к MSX системные администраторы MSX получают общий контроль над экземпляром TSX SQL Server.

  • ACE является расширением и не может вызывать себя. ACE вызывается цепочкой ScenarioEngine.exe - также известной как Microsoft.SqlServer.Chainer.Setup.exe - или ее можно вызвать другим процессом узла.

  • ACE зависит от следующей библиотеки DLL конфигурации, принадлежащей SSDP, так как эти API библиотеки DLL вызываются ACE:

    • SCO — Microsoft.SqlServer.Configuration.Sco.dll, включая новые проверки SCO для виртуальных учетных записей

    • Кластер — Microsoft.SqlServer.Configuration.Cluster.dll

    • SFC — Microsoft.SqlServer.Configuration.SqlConfigBase.dll

    • Расширение — Microsoft.SqlServer.Configuration.ConfigExtension.dll

См. также

Предопределенные роли
Хранимая процедура sp_addrolemember (Transact-SQL)
sp_droprolemember (Transact-SQL)
Центр безопасности для ядра СУБД SQL Server и Базы данных Azure SQL