ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 88
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
21. Управление доступом к таблицам и столбцам
Таблица и столбцы хранят данные, которые извлекают и создают приложения. Управление доступом к этим данных осуществляется через иерархию разрешений SQL Server 2005. Управлять этой иерархией разрешений можно при помощи инструкций GRANT, DENY и REVOKE.
GRANT. Разрешает роли или пользователю выполнять операции, определенные в момент предоставления разрешения.
DENY. Запрещает пользователю или роли определенные разрешения и предотвращает наследование этих разрешений от других ролей..
REVOKE. Отзывает ранее запрещенные или предоставленные разрешения.
Изменение прав доступа к таблице
Доступ к таблице управляется действующими разрешениями, которые предоставлены пользователю на эту таблицу. Доступом пользователя к таблицам можно управлять при помощи управления разрешениями на таблицу. Разрешения, которыми можно управлять для таблиц, перечислены в табл. 3.2. Эти разрешения можно назначать пользователям базы данных и ролям.
Таблица 3.2. Разрешения на доступ к таблице | |
Разрешения | Описание |
ALTER | Разрешает изменять свойства таблицы |
CONTROL | Предоставляет разрешения, аналогичные владению |
DELETE | Разрешает удалять строки из таблицы |
INSERT | Разрешает добавлять столбцы в таблицу |
REFERENCES | Разрешает ссылаться на таблицу из внешнего ключа |
SELECT | Разрешает осуществлять выборку строк из таблицы |
TAKE OWNERSHIP | Разрешает присвоение схемы или таблицы |
UPDATE | Разрешает изменять строки в таблице |
VIEW DEFINITION | Разрешает доступ к метаданным таблицы |
22. Управление доступом к программируемым объектам
Такие программируемые объекты, как хранимые процедуры и определяемые пользователем функции, имеют свой контекст безопасности. Чтобы выполнять хранимые процедуры, функции и сборки, пользователям базы данных необходимы разрешения. После того, как ядро базы данных выполнит проверку на наличие разрешений на выполнение программируемого объекта, оно проверяет наличие разрешений на выполнение операций, в которых используются программируемые объекты. Когда объекты базы данных.
Или Такие программируемые объекты, как хранимые процедуры и определяемые пользователем функции, имеют свой контекст безопасности. Чтобы выполнять хранимые процедуры, функции и сборки, пользователям базы данных необходимы разрешения. После того, как ядро базы данных выполнит проверку на наличие разрешений на выполнение программируемого объекта, оно проверяет наличие разрешений на выполнение операций, в которых используются программируемые объекты. Когда объекты базы данных последовательно обращаются друг к другу, эта последовательность формирует цепочку владения.
23. Управление цепочками владения
Цепочка владения - это последовательность объектов базы данных, которые обращаются друг к другу. Например, когда вы добавляете в таблицу строку из хранимой процедуры, то хранимая процедура является вызывающим объектом, а таблица - вызываемым объектом. Когда SQL Server обходит цепочку, механизм базы данных оценивает разрешения по-другому, не так, как если бы вы обращались к объектам по отдельности.
При обращении к объекту в цепочке, SQL Server сначала сравнивает владельца вызываемого объекта и владельца вызывающего объекта. Если у объектов один владелец, то разрешения вызываемого объекта не оцениваются. Эта функция очень полезна для управления разрешениями объектов. Предположим, например, что Sara создает таблицу с именем Person.SupplierContacts и хранимую процедуру Person.InsertSupplierContacts, c помощью которой Sara добавляет строки в таблицу PersonSupplierContacts. Поскольку у этих объектов один владелец, Sara, то для того, чтобы предоставить другим пользователям разрешение EXECUTE для таблицы PersonSupplierContacts, достаточно предоставить разрешение EXECUTE на хранимую процедуру Person.InsertSupplierContacts. Нет необходимости предоставлять другим пользователям разрешения для таблицы.
Важно. Цепочки владения предоставляют эффективный механизм инкапсуляции. База данных может быть разработана таким образом, чтобы доступ к данным был организован через хорошо документированный публичный интерфейс, то есть, через хранимые процедуры и определяемые пользователем функции, которые скроют сложность реальной реализации базы данных. Используя цепочки владения с наибольшей эффективностью, разработчики баз данных могут запретить доступ ко всем таблицам в базе данных всем пользователям, сохранив последним возможность доступа к данным, которые им необходимы.
24. Управление контекстом выполнения
Имя входа и пользователь, подключившиеся на время сеанса или выполняющие процедуру, определяют контекст выполнения. Маркеры имени входа и пользователя предоставляют SQL Server информацию, необходимую для оценки разрешений объектов. SQL Server 2005 предоставляет возможность изменить контекст выполнения при помощи инструкции EXECUTE AS. Эта операция называется переключением контекста
25. Какими бывают механизмы доступа к данным
Существует несколько способов доступа к данным из средств разработки и клиентских приложений.
Подавляющее большинство систем управления базами данных содержит в своем составе библиотеки, предоставляющие специальный прикладной программный интерфейс (Application Programming Interface, API) для доступа к данным этой СУБД. Обычно такой интерфейс представляет собой набор функций, вызываемых из клиентского приложения. В случае настольных СУБД эти функции обеспечивают чтение/запись файлов базы данных, а в случае серверных СУБД инициируют передачу запросов серверу баз данных и получение от сервера результатов выполнения запросов или кодов ошибок, интерпретируемых клиентским приложением. Библиотеки, содержащие API для доступа к данным серверной СУБД, обычно входят в состав ее клиентского программного обеспечения, устанавливаемого на компьютерах, где функционируют клиентские приложения.
26. Open Database Connectivity (ODBC) - стандарт прикладного программного интерфейса API (Application Programming Interface), который позволяет программам, работающим в различных средах, взаимодействовать с произвольными СУБД, как персональными, так и многопользовательскими, функционирующими в различных операционных системах.
27. Основным понятием, которым оперирует технология COM, является COM-компонент. Программы, построенные на технологии COM, фактически не являются автономными программами, а представляют собой набор взаимодействующих между собой COM-компонентов. Каждый компонент имеет уникальный идентификатор (GUID) и может одновременно использоваться многими программами. Компонент взаимодействует с другими программами через COM-интерфейсы – наборы абстрактных функций и свойств. Каждый COM-компонент должен, как минимум, поддерживать стандартный интерфейс «IUnknown», который предоставляет базовые средства для работы с компонентом.
28. Объектный интерфейс OLE DB представляет собой открытый стандарт, предназначенный для универсального доступа приложений к базам данных. В отличие от интерфейса ODBC и RDO, интерфейс OLE DB позволяет приложениям обращаться не только к реляционным БД, но и к нереляционным, таким, например, как серверы почты, базы данных для мэйнфреймов с методами доступа IMS, VSAM и т. д.
29. Введение в технологию ADO Основным методом доступа к разделяемым файлам и базам данных клиент/сервер становятся технология ActiveX Data Objects (ADO) и OLE DB, пришедшие на смену прикладному интерфейсу программирования Open Database Connectivity (ODBC). Технология ADO является еще одной моделью доступа к базам данных и представляет собой объектно-ориентированный интерфейс для технологии доступа к данным OLE DB. ADO поддерживает ключевые возможности для построения клиент/серверных и Web-приложений, а также обеспечивает функции Remote Data Service (RDS), посредством которого можно перемещать данные с сервера в клиентское приложение или на Web-страницу, манипулировать данными «на стороне клиента» и возвращать обновленные данные серверу.
30. ADO.NET — это набор классов, предоставляющих службы доступа к данным программистам, которые используют платформу .NET Framework. ADO.NET имеет богатый набор компонентов для создания распределенных приложений, совместно использующих данные. Это неотъемлемая часть платформы .NET Framework, которая предоставляет доступ к реляционным данным, XML-данным и данным приложений. ADO.NET удовлетворяет различные потребности разработчиков, включая создание клиентских приложений баз данных, а также бизнес-объектов среднего уровня, используемых приложениями, средствами, языками и браузерам.