Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_6-15.doc
Скачиваний:
7
Добавлен:
01.03.2025
Размер:
1 Мб
Скачать
☆

7.2.4Администрирование полномочий доступа к базам данных — до 20 мин.

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

Полномочия на уровне сервера присваиваются DBA и позволяют им выполнять задачи администрирования. Эти полномочия определяются по фиксированным ролям сервера. Пользовательским login-записям могут быть присвоены фиксированные роли на сервере, но эти роли нельзя модифицировать. (Роли на сервере описываются в разделе "Использование фиксированных ролей на сервере" далее.) К полномочиям на сервере относятся полномочия SHUTDOWN, CREATE DATABASE, BACKUP DATABASE и CHECKPOINT. Полномочия на сервере используются только для авторизации DBA, чтобы они могли выполнять административные задачи; их не нужно модифицировать или предоставлять отдельным пользователям.

Полномочия на уровне объектов базы данных – это класс полномочий, которые предоставляются для доступа к объектам базы данных. Полномочия доступа к объектам необходимы для доступа к таблице или представлению с помощью таких операторов, как SELECT, INSERT, UPDATE и DELETE. Полномочия доступа к объектам также требуются для использования оператора EXECUTE, который применяется для запуска хранимых процедур.

Чтобы использовать T-SQL для присваивания какому-либо пользователю полномочий доступа к объектам, вы должны выполнить оператор GRANT. Этот оператор имеет следующий синтаксис:

GRANT { ALL | полномочия }

[ колонка ON {таблица | представление} ] |

[ ON таблица(колонка) ] |

[ ON представление(колонка) ] |

[ ON { хранимая_процедура | расширенная_процедура } ]

TO учетная_запись_безопасности

[ WITH GRANT OPTION ]

[ AS { группа | роль } ]

Параметр учетная_запись_безопасности может быть представлен одним из следующих типов учетных записей:

  • Пользователь SQL Server.

  • Роль SQL Server.

  • Пользователь Windows NT или Windows 2000.

  • Группа Windows NT или Windows 2000.

Использование ключевого слова GRANT OPTION позволяет пользователю или пользователям, указанным в данном операторе, предоставлять указанный тип полномочий другим пользователям. Это может оказаться полезным, если вы предоставляете полномочия другим DBA. Однако GRANT OPTION следует использовать с осторожностью.

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

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

REVOKE [ GRANT OPTION FOR ]

{ ALL [ PRIVILEGES ] | полномочия }

[ колонка ON {таблица | представление} ] |

[ ON таблица(колонка) ] |

[ ON представление(колонка) ] |

[ ON { хранимая_процедура | расширенная_процедура } ]

{ TO | FROM } учетная_запись_безопасности

[ CASCADE ]

[ AS { группа | роль } ]

Ключевое слово GRANT OPTION FOR позволяет вам отзывать полномочия, которые вы предоставили с помощью ключевого слова GRANT OPTION, а также отзывать указанные здесь полномочия. Необязательный параметр AS указывает, кто имеет право на выполнение этого оператора REVOKE.

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

  • BACKUP DATABASE. Позволяет пользователю выполнять оператор BACKUP DATABASE.

  • BACKUP LOG. Позволяет пользователю выполнять оператор BACKUP LOG.

  • CREATE DATABASE. Позволяет пользователю создавать новую базу данных.

  • CREATE DEFAULT. Позволяет пользователю создавать значения по умолчанию, которые можно присвоить колонкам.

  • CREATE PROCEDURE. Позволяет пользователю создавать хранимые процедуры.

  • CREATE RULE. Позволяет пользователю создавать правила.

  • CREATE TABLE. Позволяет пользователю создавать новые таблицы.

  • CREATE VIEW. Позволяет пользователю создавать новые представления.

Для предоставления полномочий на использование операторов какому-либо пользователю с помощью T-SQL применяется оператор GRANT. Этот оператор имеет следующий синтаксис:

GRANT { ALL | оператор }

TO учетная_запись_безопасности

Пользователю могут быть предоставлены полномочия на использование операторов CREATE DATABASE, CREATE DEFAULT, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, CREATE VIEW, DROP TABLE, DROP VIEW, BACKUP DATABASE и BACKUP LOG, описанных выше в этой лекции.

Вы можете использовать оператор T-SQL REVOKE для удаления из пользовательской учетной записи полномочий на использование операторов. Этот оператор имеет следующий синтаксис:

REVOKE { ALL | оператор }

FROM учетная_запись_безопасности