|
Программирование >> Администрирование microsoft sql
23. Для пользователя Joe пометьте флажки в полях Create Table, Create View и Create SP и щелкните ОК. 24. Переключитесь в SQL Query Aralyzer, ., 25. Проверьте, что вы подключены к SQL Server под именем Joe. 26. В панели инструментов щелкните Load SQL Script. Откроется окно SQL Queryzer, где задается вопрос, хотите ли вы сохранить изменения в предыдущем сценарии. 27. Щелкните No. ... Откроется окно Open Query File. 28. Откройте файл CreateTeslTable2 Proc2View2.sql из папки C;\SeltPacedSQL\CH l 1. Откроется сценарий Transact-SQL, который создаст новую таблицу с именем TestTable2 и добавит в нее одну запись, а также создаст хранимую которая выведет содержимое трех полей таблицы, и создаст представление, в которое будут включены два поля таблицы. Обратите внимание, что в качестве обладателя разрец]ення владения для каждого созданного объекта не указан определенный владелец. Затем сценарий выполняет запрос к новой таблице. 29. В панели инструментов щелкните Execute Query. Обратите внимание, что и таблица, и и представление успешно созда- ны. Пользователь с именем Joe имеет явно определенные разрешения на создание таблиц, хранимых процедур и представлений. Он может выполнять запросы, ото- содержимое таблицы и представления, а также выполнять хранимую потому что он владелец этих объектов. 30. Переключитесь в SQL Server Enterprise Manager. 31. В дереве консоли, расположенном ниже объекта SSEMDB, щелкните Stored Procedures. 32. Правой кнопкой щелкните Stored Procedures и выберите Refresh. Обратите внимание, что в области отображения информации о файлах указано, что пользователь Joe является владельцем хранимой процедуры 33. Переключитесь в SQL Query Analyzer. 34. что вы подключились к SQ под именем Joe. 35. Измените оператор CREATE TABLE, указав в качестве владельца роль dbo (теперь оператор должен начинаться так: CREATE 36. Выделите весь текст оператора CREATE TABLE (но не другие операторы в сценарии) и в панели инструментов щелкните Execute Query. Обратите внимание, что пользователь под именем Joe не может создавать таблицу, в качестве владельца которой указана роль dbo. разрешения на вхполнение оператора CREATE TABLE не позволяют этого делать (в отличие от членов постоянной роли БД db owner). 37. Переключитесь на пользовательскую сессию sa в окне SQL Query Analyzer. 38. В панели инструментов щелкните Load SQL Script. SQL Query Analyzer выдаст вопрос, хотите ли вы сохранить изменения в щем сценарии. . 39. Щелкните No. Откроется окно Open Query File. 40. Откройте файл restTable2 ChangeOwner.sql из папки C:\SelfPacedSQL\CH ll. 12-1219 Откроется сценарий Transact-SQL, который изменит разрешения владельца для TestTable2 Procedurel e2View2, предоставив это разрешение роли dbo. Затем сценарий проверит выполненные изменения. 41. В панели инструментов щелкните Execute Онегл Заметьте, что разрешение владельца для каждого их этих трех объектов БД было успешно изменено. 42. Завершите все пользовательские сессии в окне приложения SQL Query Не сохраняйте изменения. 43. В меню File выберите Connect. Откроется окно Connect To SQL Server. 44. Щелкните SQL Server Authentication. 45. В поле Login Name введите Joe. 46. В поле Password введите password и щелкните ОК. Обратите внимание, что вы подключились к БД master под именем Joe. 47. В панели инструментов в списке БД выберите в качестве текущей БД SSEMDB. 48. В панели запросов введите SELECT * FRO аЫе2 и в панели инструментов щелкните Execute Query. Обратите внимание, что пользователь Joe не может просмотреть какие-либо записи в таблице TestTable2. Теперь разрешение владельца таблицы принадлежит роли dbo. Пользователь Joe не имеет никаких разрешений на выполнение оператора SELECT для каких-либо объектов, владельцем которых он не является. 49. В панели инструментов щелкните Clear Window. 50. В панели запросов введите EXEC sp helprotectNULL, NULL, NULL, s и в панели инструментов щелкните Execute Query. Обратите внимание, что отображены предоставленные пользователю разрешения Joe на выполнение трех операторов. Не отображаются разрешения, предоставленные пользователю через его участие в постоянной роли БД. 51. Закройте все активные соединения в окне SQL Query Analyzer, но пока не закрывайте само окно приложения SQL Query Analyzer. Управление разрешениями доступа к объектам Разрешения доступа к объектам - это разрешения на выполнение определенных операций с таблицами, представлениями, функциями и хранимыми процедурами. В табл. 11-2 указаны различные виды разрешений доступа к объектам, связанными с объектами БД. Предоставление, блокировка или отзыв разрешений доступа для каждого из этих операторов может выполняться членами роли сервера sysadmin и фиксированных ролей БД и (а также владельцами соответствующего объекта ВД). Табл. 11-2. Разрешения доступа к объектам БД Разрешение Допустимые действия SELECT Просмотр данных в таблице, представлении или поле табя ицы или на определенные пользовательские функции. Наследуется членами роли сервера sysadmin и постоянных ролей БД db owner и db datareader. В этом разрешении отказано всем членам фиксированной роли db denydatareader Табл. 11-2. (окончание) Разрешение действия UPDATE DELETE EXECUTE REFERENCES INSERT Добавление новых данных в таблицу или представление. Наслелуется членами роли сервера sysadmin и фиксированных . , роле!! БД dbowner и db datawriter. В этих разрешениях отказано всем членам фиксированной роли Обновление данных в таблице, поле или представлении. Наследуются членами роли сервера sysadmin и фиксированных ролей БД и В этом разрешении отказано всем членам фиксированной роли Удаление данных из таблицы или представления. Наследуются членами роли сервера sysadmin и фиксированных ролей БД и В этом разрешении отказано всем членам фиксированной роли db denydatawriter Выполнение хранимых процедур и пользовательских функций. Наследуются членами роли сервера sysadmin и фиксированной роли БД db owrip Обращение к таблице с ограничением FOREIGN KEY при отсутствии разрешений SELECT на таблицу. Наследуются членами роли сервера sysadmin и постоянных ролей БД dbjowner toareader. В этом разрешении отказано всем членам в фиксированной роли dbdenydatareader Обратите внимание, что вы можете использовать фиксированные роли БД dbdata-reader и предоставления или отмены разрешений на выполнение операторов SELECT и REFERENCES по отношению ко всем объектам в БД. Также вы можете использовать постоянные роли и для предо- ставления или запрета на выполнение операторов INSERT, UPDATE и DELETE отношению ко всем объектам БД. Для предоставления пользователю разрешений на выполнение оператора EXECUTE объект следует предоставлять это разрешение отдельно (пользователю, группе или роли), так как роль БД, не являющаяся постоянной (в отличие от постоянной роли владельца БД не предоставляет такого разре- шения. Кроме того, если вам нужно предоставить или отказать в разрешениях на объект, расположенный в некотором подмножестве объектов в БД, вы можете сделать это в частном порядке, то есть предоставить или отказать в разрешениях доступа именно к этим объектам. Вы можете предоставлять разрешения доступ к этим объектам или отменять разрешения доступа по отношению к определяемой пользователем роли БД, группе Windows, имени учетной записи пользователя SQL Server или пользователю Windows. В заключение скажем, что пользователю или роли можно непосредственно запретить просмотр или обновление таблицы, но при этом у них могут быть разрешения на работу с таблицей через представление или хранимую процедуру. Например, представление может создаваться таким образом, что в него будут включены только отдельные поля или записи таблицы. Пользователю в дальнейшем будет разрешено обновлять данные в таком представлении (допустим, обновлять информацию об определенном служащем без просмотра информации обо всех служащих). Хранимая процедура может быть создана и так, что при ее выполнении будут отображаться только имена всех служащих, без какой-либо дополнительной информации.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |