Вопрос 22: Система безопасности. Серверные роли. Роли БД.


Система безопасности

Процедуры для получения доступа к защищенному объекту:

  • Идентификация - выполняется присвоение объекту идентификатора (login) и пароля (password);
  • Аутентификация - процесс установления взаимно-однозначного соответствия между объектами безопасности и вводимым идентификатором;
  • Авторизация - процедура обеспечения субъекту доступа к элементам (ресурсам) системы. Доступ регулируется разрешениями (permissions).

Участником безопасности является любой пользователь, прошедший проверку подлинности, которому может быть предоставлено разрешение на доступ к объекту в системе БД. Участники безопасности существуют на трех уровнях:

  • Microsoft Windows;
  • SQL Server;
  • База данных.

Разрешения - правила, которые управляют уровнем доступа участников к защищенным объектам. В Windows используются списки управления доступ (Access Control List) для определения участников Windows, у которых есть доступ к защищенным объектам Windows. SQL Server определяет собственные наборы разрешений, которые можно применить по отношению к защещиенным объектам SQL Server. Администратор БД может предоставлять, запрещать иди отклонять доступ к защищаемы объектам SQL Server для участников системы безопасности. Управлять разрешениями можно, выполнив инструкции GRANT, RECOKE или DENY.

Серверные роли

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

Список фиксированных серверных ролей

Роль Описание
sysadmin Выполняет любые действия в системе баз данных
serveradmin Конфигурирует параметры сервера
setupadmin Устанавливает репликацию и управляет расширенными процедурами
securityadmin Управляет регистрационными именами и разрешениями для инструкции CREATE DATABASE и чтением журналов логов
processadmin Управляет системными процессами
dbcreator Создает и модифицирует базы данных
diskadmin Управляет файлами на диске

Кроме фиксированных ролей сервера каждый экземпляр SQL Server содержит специальную фиксированную роль сервера public, членами которой являются все имена входа.

Для добавления и удаления членов в фиксированные серверные роли используются инструкции языка Transact-SQL CREATE SERVER ROLE и DROP SERVER ROLE соответственно. А для изменения членства в серверной роли используется инструкция ALTER SERVER ROLE.

Фиксированные серверные роли нельзя добавлять, удалять или переименовывать. Кроме этого, только члены фиксированных серверных ролей могут выполнять системные процедуры для добавления или удаления регистрационного имени в роли.

Роли БД

Типы ролей на уровне БД:

Фиксированные роли БД Представляют собой объединение администрированных привелегий на уровне БД, которым были предоставлены разрешения на стандартные задачи БД.

Список фиксированных ролей:

Роль Описание
db_owner Пользователи, которые могут выполнять почти все действия в базе данных
db_accessadmin Пользователи, которые могут добавлять и удалять пользователей
db_datareader Пользователи, которые могут просматривать данные во всех таблицах пользователей базы данных
db_datawriter Пользователи, которые могут добавлять, изменять или удалять данные во всех пользовательских таблицах базы данных
db_ddladmin Пользователи, которые могут выполнять инструкции DDL в базе данных
db_securityadmin Пользователи, которые могут управлять всеми действиями в базе данных, связанными разрешениями безопасности
db_backupoperator Пользователи, которые могут выполнять резервное копирование базы данных
db_denydatareader Пользователи, которые не могут просматривать любые данные в базе данных
db_denydatawriter Пользователи, которые не могут изменять никакие данные в базе данных

Кроме перечисленных в таблице фиксированных ролей базы данных, существует специальная фиксированная роль базы данных public, к которой принадлежат все пользователи и которая не может быть удалена. Роль public:

  • Обеспечивает все разрешения по умолчанию для пользователей в БД;
  • Определяется в каждой БД, включая системные БД master, msdb, tempdb, model.

Роли БД, определенные пользователями Создание определенной пользователем роли БД даёт возможность создать группу пользователей с набором общих разрешений. Пользователя можно создать с помощью инструкции CREATE USER:

CREATE USER Vasya FOR LOGIN Vasya;

Создание роли:

CREATE ROLE auditors

Изменить или удалить роль БД, определенную пользователем, можно с помощью команд ALTER ROLE и DROP ROLE соответственно.

results matching ""

    No results matching ""