рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Команды T-SQL для управления разрешениями пользователя на доступ к объектам базы данных

Команды T-SQL для управления разрешениями пользователя на доступ к объектам базы данных - раздел Менеджмент, Современные технологии управления     1)Предоставить Доступ Grant ...

 

 

1)Предоставить доступ

GRANT

{ALL [PRIVILEGES] | permission [,...n]}

{

[(column[,...n])] ON {table | view}

| ON {table | view}[(column[,...n])]

| ON {stored_procedure | extended_procedure}

| ON { user_defined_function }

}

TO security_account [,...n]

[WITH GRANT OPTION]

[AS {group | role}]

 

 

Параметры команды GRANT:

 

ALL — пользователю предоставляются все доступные разрешения. Этот параметр могут использовать только участники ролей sysadmin и db_owner, а также владельцы конкретных объектов базы данных;

 

permission — список доступных разрешений, которые предоставляются пользователю (SELECT, INSERT, UPDATE, DELETE, REFERENCES, EXECUTE). Можно одновременно предоставлять несколько разрешений, в этом случае их нужно разделять запятыми;

 

security_account — имя того объекта системы безопасности, которому предоставляются права.

Объектами могут быть:

• пользователи SQL Server,

• роли SQL Server,

• пользователи и группы пользователей Windows, которым предоставлен доступ к серверу баз данных.

Перед назначением security_account должен уже существовать в текущей базе данных.

 

 

WITH GRANT OPTION — позволяет пользователю, которому вы предоставляете права, в свою очередь назначать эти же права на этот же объект другим пользователям;

AS {group | role} — позволяет указать участие пользователя в роли, которая имеет возможность предоставлять права другим пользователям.

 

 

Пример_1: Необходимо предоставить права на использование команд INSERT и SELECT в таблице Materials для членов группы Engineer.

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

 

GRANT SELECT, INSERT

ON Materials

TO Engineer

WITH GRANT OPTION

 

 

Пример_2:

USE pubs

GO

GRANT SELECT

ON authors

TO public

GO

GRANT INSERT, UPDATE, DELETE

ON authors

TO Mary, John, Tom

GO

 

 

Пример_3:

Пользователь Jean владеет таблицей Plan_Data.

Jean даёт разрешение на выполнение команды SELECT пользователям роли Accounting, так что они тоже в свою очередь могут предоставлять это право другим пользователям.

Пользователь Jill, член группы Accounting, хочет предоставить право SELECT на таблицу Plan_Data пользователю Jack, который не входит в группу Accounting.

 

 

Пример_3:

/* User Jean */

GRANT SELECT

ON Plan_Data

TO Accounting

WITH GRANT OPTION

 

/* User Jill */

GRANT SELECT

ON Plan_Data

TO Jack

AS Accounting

 

 

2) Запретить права доступа

DENY
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ (column [ ,...n ] )] ON { table | view }
| ON { table | view } [ (column [ ,...n ] )]
| ON { stored_procedure | extended_procedure }
| ON { user_defined_function }
}
TO security_account [ ,...n ]
[ CASCADE ]

 

 

Параметры аналогичны команде GRANT.

 

CASCADE – запрещаются права, как пользователя secirity_account , так и всех пользователей, которым он предоставил права.

 

Если не указано CASCADE , а пользователь получил права с параметром WITH GRANT OPTION, то будет возвращена ошибка.

 

DENY имеет преимущество перед GRANT.

Например, пользователю запрещено некоторое действие.

Затем он был добавлен в роль, членам которой разрешено это действие.

В результате всё-таки пользователю данное действие будет запрещено.

 

Команда DENY аннулирует все разрешения на доступ, полученные пользователем на любом уровне иерархии.

 

 

Пример_1:

 

USE pubs

GO

GRANT SELECT

ON authors

TO public

GO

 

DENY SELECT, INSERT, UPDATE, DELETE

ON authors

TO Mary, John, Tom

 

 

Пример_1:

Сначала право SELECT на таблицу authors предоставляется членам роли public, т.е. всем пользователям текущей базы данных.

Потом, несколько прав запрещается пользователям Mary, John и Tom. Эти пользователи теперь не имеют прав доступа на таблицу authors, хотя продолжают оставаться членами роли public.

 

 

3) Удаляет сделанные ранее разрешения или запрещения

REVOKE [ GRANT OPTION FOR ]
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ (column [ ,...n ] )] ON { table | view }
| ON { table | view } [ (column [ ,...n ] )]
| ON { stored_procedure | extended_procedure }
| ON { user_defined_function }
}
{ TO | FROM }
security_account [ ,...n ]
[ CASCADE ]
[ AS { group | role } ]

 

 

Параметры аналогичны команде GRANT.

 

GRANT OPTION FOR – удаляет разрешения пользователя с параметром WITH GRANT OPTION. Пользователь сохранит все свои права, но не сможет предоставлять их другим пользователям. Используется вместе с параметром CASCADE.

 

Команда REVOKE действует только на том уровне, на котором применена.

Например, пользователю Andrew напрямую предоставлено право SELECT на таблицу authors.

И у него есть такое же право, как у члена роли employees.

Если теперь удалить такое право у роли employees, у пользователя Andrew всё же останется это право.

 

 

Пример_1:

Пользователь Mary - член роли Budget. Этой роли предоставлено право SELECT на таблицу Budget_Data.

Но Mary был напрямую запрещён доступ к таблице командой DENY.

Если выполнить команду

 

REVOKE SELECT ON Budget_Data TO Mary

, то Mary получит право SELECT на таблицу.

 

 

1) Разрешить выполнение команд

 

GRANT { ALL | statement [ ,...n ] }
TO security_account [ ,...n ]

 

 

statement – команда, право выполнения которой предоставляется.

 

Список возможных команд:

• CREATE DATABASE

• CREATE DEFAULT

• CREATE FUNCTION

• CREATE PROCEDURE

• CREATE RULE

• CREATE TABLE

• CREATE VIEW

• BACKUP DATABASE

• BACKUP LOG

 

 

Пример_1:

 

GRANT CREATE DATABASE, CREATE TABLE

TO Mary, John, [Corporate\BobJ]

 

Предоставить права на выполнение команд создания баз данных и таблиц пользователям Mary, John и группе Windows с именем [Corporate\BobJ] .

 

 

2) Запретить выполнение команд

 

DENY { ALL | statement [ ,...n ] }
TO security_account [ ,...n ]

 

 

Пример_1:

 

DENY CREATE DATABASE, CREATE TABLE

TO Mary, John, [Corporate\BobJ]

 

 

3) Отменить ранее разрешенные или запрещенные права на выполнение команд

 

REVOKE { ALL | statement [ ,...n ] }
FROM security_account [ ,...n ]

 

Пример_1: Пусть пользователям Joe и Corporate\BobJ ранее было напрямую предоставлено право выполнять CREATE TABLE.

Данная команда отменяет это право:

 

REVOKE CREATE TABLE

FROM Joe, [Corporate\BobJ]

 

Однако, если бы Joe и Corporate\BobJ входили в роль, члены которой имеют право выполнять CREATE TABLE, то это право за ними осталось бы.

 

– Конец работы –

Эта тема принадлежит разделу:

Современные технологии управления

Кафедра Прикладные информационные технологии... Иванов А В...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Команды T-SQL для управления разрешениями пользователя на доступ к объектам базы данных

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

OLTP и OLAP системы
Системы управления данными могут иметь две специализированные разновидности:   1)Системы, ориентированные на оперативную обработку транзакций (On-Line Transaction Processi

Службы SQL Server Analysis Services
  Предоставляют собой средства анализа данных, находящихся в хранилищах и киосках данных SQL Server. Cлужбы SQL Server Analysis Services это ядро для построения систем опе

Структура файла в БД
  • Основная единица хранения и чтения/записи данных в БД – страница • Размер страницы = 8 кб (MS SQL Server) • На 1 Мб 128 страниц  

Инструкция создание базы данных
  CREATE DATABASE database_name [ ON [ < filespec > [ ,...n ] ] [ , < filegroup > [ ,...

Системная база данных model
  SQL Server использует системную базу данных model, как модель, как шаблон при создании новой базы данных. Этот шаблон можно менять. Можно добавлять в неё н

Транзакции. Журналирование операций в БД
  Транза́кция (англ. transaction) - группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быт

Consistency — Согласованность
Cистема находится в согласованном состоянии до начала транзакции и должна остаться в согласованном состоянии после завершения транзакции. Не нужно путать согласованность с целостностью (in

Журналирование операций в БД
Регистрация транзакций и сделанных в их ходе модификаций нужна для выполнения трех операций:   • восстановления отдельных транзакций; • восстановления незав

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

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

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

Потоки операционной системы
  SQL Server использует рабочий поток (worker thread) и поток отложенной записи (lazy writer thread) для периодического обращения к буферу памяти, планирования асинхронн

Типы резервного копирования данных
  1)Полное - полное копирование БД (обычно не чаше одного раза в день и не реже одного раза в неделю).   2)Дифференциальное- к

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

Создание резервных копий с использованием T-SQL
  Пример 1:создать полную резервную копию БД Northwind в файле C:\SQLBackups\Temp.bak:     BACKUP DATABASE Northwind TO

Иерархия пользователей
  Администратор - имеет полный доступ к базе данных и всем ее объектам, является своего рода хозяином базы данных - может делать всё.  

Аутентификация.
Пользователь идентифицируется по имени учетной записи и паролю. Если данные введены правильно, пользователь подключается к SQL Server (регистрируется). Подключение к SQL Server, или регистрация, не

Режим аутентификации SQL Server
  Доступ также предоставляется на основе учетных записей. Но используются учетные записи SQL Server, а не Windows. При попытке пользователя получить доступ к SQL Server серве

Пользователи базы данных
  После того как клиент успешно прошел аутентификацию, он получает доступ к SQL Server. Для получения доступа к любой базе данных учетная запись пользователя (login) отобража

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

Права на доступ к объектам баз данных
  Объекты базы данных: • таблицы (tables), • столбцы таблиц (columns), • представления (views), • хранимые процедуры (stored procedures).

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги