8.4 Предоставление прав на объекты в базе данных
Главное принципиальное изменение, которое произошло в SQL Server 2005 и соответственно в SQL Server 2014, — это появление возможности предоставлять разрешения на уровне схемы. К схеме в SQL Server 2005 могут относиться таблицы, представления, хранимые процедуры, пользовательские функции, ограничения целостности, пользовательские типы данных и другие объекты, на которые приходится предоставлять разрешения чаще всего. Если вы назначите пользователю разрешения на схему, то он получит разрешения на все объекты этой схемы.
8.4.1 Изменение прав доступа к таблице
Таблица и столбцы хранят данные, которые извлекают и создают приложения. Управление доступом к этим данным осуществляется через иерархию разрешений SQL Server 2014. Управлять этой иерархией разрешений можно при помощи инструкций GRANT, DENY и REVOKE.
GRANT. Разрешает роли или пользователю выполнять операции, определенные в момент предоставления разрешения.
DENY. Запрещает пользователю или роли определенные разрешения и предотвращает наследование этих разрешений от других ролей..
REVOKE. Отзывает ранее запрещенные или предоставленные разрешения.
WITH GRANT — разрешение не только предоставлено данному пользователю, но он также получил право предоставлять это разрешение другим пользователям. Можно предоставлять, конечно, только вместе с GRANT;
Работа с разрешениями производится одинаково для всех объектов базы данных:
на вкладке Permissions свойств этого объекта (эта вкладка, правда, предусмотрена не для всех объектов, для которых можно предоставить разрешения);
при помощи команд GRANT (предоставить разрешение), DENY (явно запретить что-то делать) и REVOKE (отменить явно предоставленное разрешение или запрет).
Далее перечислены разрешения, которые можно предоставить на уровне схемы. Мы приведем только разрешения для этого объекта, поскольку, во-первых, разрешения в большинстве случаев придется предоставлять именно на уровне схемы, а во-вторых, разрешения схемы включают в себя разрешения, которые можно предоставить другим объектам, например, разрешения SELECT для таблиц и представлений и EXECUTE для хранимых процедур.
ALTER — возможность вносить любые изменения в свойства объекта (за исключением смены владельца). На уровне базы данных можно настроить права ALTER ANY ... — возможность вносить изменения в любые объекты данного типа в базе данных, например, ALTER ANY TABLE.
CONTROL — аналогично разрешению FULL CONTROL в операционной системе. Тот, кому предоставлено такое разрешение, получает полные права как на сам объект, так и на информацию в нем.
Достарыңызбен бөлісу: |