Skip to content

42. Управление участниками системы безопасности в SQL Server

Pandas edited this page Jan 7, 2018 · 2 revisions

Участники — сущности, которые могут запрашивать ресурсы SQL Server.

Поддерживаются два вида учетных записей подключения к серверу:

  • учетные записи сервера, создаваемые на основании учетных записей операционной системы, и
  • учетные записи сервера, создаваемые для прямого подключения к серверу.

Проверка подлинности Windows означает, что для подключения к SQL Server проверка подлинности полностью выполняется операционной системой Microsoft Windows. В этом случае клиент идентифицируется на основании учетной записи Windows. Проверка подлинности SQL Server означает, что для подключения к SQL Server проверка подлинности выполняется путем сравнения имени пользователя и пароля с хранящимся на сервере SQL Server списком действительных имен пользователей и паролей). Учетные данные сервера создаются при помощи инструкции CREATE CREDENTIAL. После создания учетных данных можно сопоставить их имени входа SQL Server, используя инструкцию CREATE LOGIN или ALTER LOGIN.

Как и другие компоненты модели авторизации SQL Server, участников можно иерархически упорядочить. Область влияния участника зависит от области его определения: Windows, сервер, база данных, — а также от того, коллективный это участник или индивидуальный. Имя входа Windows является примером индивидуального (неделимого) участника, а группа Windows — коллективного. Каждый из участников имеет идентификатор безопасности (SID).

  • Участники уровня Windows
    • Имя входа домена Windows
    • Локальное имя входа Windows
  • Участники уровня SQL Server
    • Имя входа SQL Server
    • Роль сервера
  • Участники уровня базы данных
    • Пользователь базы данных
    • Роль базы данных
    • Роль приложения

Имя входа «sa» SQL Server

Имя входа SQL Server sa является участником уровня сервера. По умолчанию оно создается при установке экземпляра. В SQL Server 2005 базой данных для имени входа sa по умолчанию является master. Это поведение было изменено по сравнению с предыдущими версиями SQL Server.

Роль базы данных public

Каждый пользователь базы данных является членом роли базы данных public. Если пользователю не были предоставлены или запрещены особые разрешения на защищаемый объект, он наследует на него разрешения роли public.

INFORMATION_SCHEMA и sys

Каждая база данных включает в себя две сущности, которые отображены в представлениях каталога в виде пользователей: INFORMATION_SCHEMA и sys. Они необходимы для работы SQL Server; эти пользователи не являются участниками и не могут быть изменены или удалены.

Пользователь-гость

Каждая база данных включает в себя пользователей гость. Разрешения, предоставленные пользователю гость, наследуются пользователями, которые имеют доступ к базе данных, но не обладают учетной записью пользователя в базе данных. Пользователя гость нельзя удалить, но его можно отключить, если отменить его разрешение CONNECT. Разрешение CONNECT можно отменить, выполнив инструкцию REVOKE CONNECT FROM GUEST в любой базе данных, кроме master или tempdb.

Клиент и сервер базы данных

По определению клиент и сервер базы данных являются защищаемыми субъектами безопасности. Данные сущности могут пройти взаимную проверку подлинности перед установкой безопасного сетевого соединения. SQL Server поддерживает протокол проверки подлинности Kerberos, который определяет, как клиенты взаимодействуют со службой проверки подлинности в сети.

Защищаемые объекты

Защищаемые объекты – это ресурсы, доступ к которым регулируется системой авторизации. Некоторые защищаемые объекты могут храниться внутри других, создавая иерархии «областей», которые сами могут защищаться. К областям защищаемых объектов относятся (a) сервер, (b) база данных и (c) схема. Далее введем следующие ограничения:

  1. для области «сервер» ограничимся рассмотрением вопросами управления учетными записями подключения (login),
  2. для области «база данных» ограничимся рассмотрением вопросами управления
    • учетными записями пользователей (user),
    • ролями (role),
    • ролями приложений (application role).
  3. для области «схема» ограничимся рассмотрением вопросами управления разрешениями на
    • функции (function),
    • процедуры (stored procedure),
    • таблицы (table),
    • представления (view).
Clone this wiki locally