Краткие теоретические сведения. В MS SQL Server поддерживаются 2 режима: интегрированный, называемый Windows NT Authentication Mode (Windows NT Authentication)

В MS SQL Server поддерживаются 2 режима: интегрированный, называемый Windows NT Authentication Mode (Windows NT Authentication), и смешанный, Mixed Mode (Windows NT Authentication and SQL Server Authentication). Алгоритм проверки аутентификации пользователя в MS SQL Server приведен на рисунке 1.

Рисунок 5 Алгоритм проверки аутентификации пользователя

В стандарте SQL определены два оператора: GRANT и REVOKE соответственно предоставления и отмены привилегий.

Оператор предоставления привилегий имеет следующий формат:

GRANT {<список действий>|ALL PRIVILEGES}

ON <имя_объекта> ТО {<имя_пользователя>|<имя_роли>}

[WITH GRANT OPTION]

Здесь список действий определяет набор действий из общедопустимого перечня действий над объектом данного типа.

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

<имя_объекта> — задает имя конкретного объекта: таблицы, представления, хранимой процедуры, триггера.

<имя_пользователя> или <имя_роли> определяет, кому предоставляются данные привилегии.

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

Для отмены ранее назначенных привилегий в стандарте SQL определен оператор REVOKE. Оператор отмены привилегий имеет следующий синтаксис:

REVOKE {<список операций>|ALL PRIVILEGES}

ON <имя_объекта>

FROM {<список пользователей>|<имя_роли>} {CASCADE|RESTRICT}

Параметры CASCADE или RESTRICT определяют, каким образом должна производиться отмена привилегий. Параметр CASCADE отменяет привилегии не только пользователя, который непосредственно упоминался в операторе GRANT при предоставлении ему привилегий, но и всем пользователям, которым этот пользователь присвоил привилегии, воспользовавшись параметром WITH GRANT OPTION.

Пример использования команд назначения и отмены прав доступа:

GRANT INSERT ON Tab1 TO user2

REVOKE INSERT ON Tab1 TO user2

Ход работы

1 Определить пользователей, которые будут обращаться к базе данных, и права доступа для них.

Назначить для каждого уникальное имя (Login) и пароль (Password).

2 Определить объекты базы данных, к которым будет предоставлено право доступа для каждого пользователя.

3 Определить операции над объектами, разрешенные для доступа каждого пользователя.

Сформулировать права доступа, исходя из выбранных операций.

4 Создать пользователей, предложенных в пункте 2.

5 Назначить созданным пользователям права доступа, определенные в пункте 3.

6 Создать роль. Предоставить роли право запуска хранимых процедур.

7 Добавить к роли нескольких пользователей, проверить состояние их привилегий.

8 Рассмотреть алгоритм входа пользователя в систему, найти ошибку, исправить и пояснить.

9 Оформить подробный отчет и сделать вывод по выполненной работе.

Контрольные вопросы

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

2 Вопросы безопасности?

3 Где храниться информация о пользователях и паролях?

4 Способы регистрации пользователей в MS SQL Server?

5 Способы создания пользователей.

6 Виды прав, предоставляемых пользователям и ролям.

7 Способы предоставления прав пользователям и ролям.

8 Отмена прав пользователей и ролей.

9 Виды ролей и их назначение.

10 Можно ли изменить или установить право использовать триггер пользователю, который не создавал этот объект?



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: