Всего 191 статей  1 2 3  »

Для получения доступа к БД в SQL Server одной аутентификации не достаточно. Учетные имена системы безопасности (учетные записи Windows и идентификаторы SQL Server) помимо аутентификации проходят авторизацию, чтобы получить доступ к некоторой БД, если выполняется одно из следующих условий:

Как и для аутентификации, для управления авторизацией используются системные хранимые процедуры. Предоставить учетному имени доступ к БД и отменить его позволяют процедуры sp_grantdbaccess и sp_r<:vokedbaccesb. Они работают с любыми действительны-ми учетными именами (учетными записями Windows и идентификаторами SQL Server). Операция предоставления доступа также называется определением соответствия между учетным именем и БД. Следующая программа-пример демонстрирует, как с помощью процедуры sp_ grantdbaccess определить соответствия между БД Pubs и пользователями User01 из домена DOMAIN01, User01 на сервере, на котором работает SQL Server (SQL-SERVER01). идентификатором SQL Server UserOl и локальной группой Power Users:

1. На панели Editor в окне Query введите и исполните следующий код:

Теперь для учетных записей определено соответствие БД BookShopDB. Группе Users дан псевдоним All Staff. Запись Manager01 создается отдельно от группы Managers, поскольку для нее необходимо назначить специальные привилегии в БД. Две из учетных записей Staff, Staff01 и Staff02 создаются отдельно от группы Users в силу тех же причин.

Для изучения материалов этой главы вам понадобится:

- SQL Server 2000 Enterprise Edition, установленный на компьютере под управлением Windows 2000 Server;

- возможность зарегистрироваться в качестве администратора на компьютере под управлением Windows 2000 Server и SQL Server;

SQL Profiler - это инструмент с графическим интерфейсом, предназначенный для мониторинга активности сервера и БД, например для аудита регистрации пользователей и обнаружения запросов с наихудшей производительностью. SQL Profiler регистрирует события. например запуск пакета или транзакции в таблице SQL Server или в файле. Для более глубокого анализа собранных данных зарегистрированные события можно воспроизвести.

1. Откройте Query Analyzer и подключитесь к локальному серверу.

2. Введите любой символ на панели Editor в окне Query и нажмите пробел.

Это необходимо, чтобы мастер Index Tuning стал доступен в раскрывающемся меню Query.

3. Щелкните меню Query, затем мастер Index Tuning. Выводится окно Welcome to the Index Tuning wizard.

Приведенные ниже вопросы помогут вам лучше усвоить основные темы данной главы. Если вы не сумеете ответить на вопрос, повторите материал соответствующего занятия и попытайтесь еще раз. Ответы для самопроверки вы найдете в приложении «Вопросы и ответы».

1. Назовите функцию мониторинга, которая посылает сведения о БД в NMS (Network Management System).

2. Запишите цели создания системы, которые можно определить исходя из сценария. Каковы эти цели?

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

2. Вспомните ограничения данных, определенные для таблицы Authors во время разработки структуры базы данных.

Какие ограничения налагаются на данные столбца AuthorID из таблицы Authors? Этот столбец должен содержать значения, и они должны быть уникальными.

4. Вспомните назначение столбцов FirstName и LastName в структуре базы данных и их ограничения.

Обратитесь к бизнес-правилам и структуре базы данных и найдите в таблице Customers столбец (или столбцы), для которого следует определить ограничение CHECK Помните, что ограничение CHECK обеспечивает доменную целостность, ограничивая значения, которые можно ввести в столбец.

Для какого столбца (или столбцов) таблицы Customers следует определить ограничение CHECK?

Данные, передаваемые с клиента на.SQL Server, могут быть зашифрованы. Таким образом, даже перехватив пакеты при передаче их по сети, злоумышленник не сможет прочитать их содержимое. Шифрование пакетов реализовано на промежуточном уровне между клиентом и SQL Server (шифрованиe на прикладном уровне) с помощью протокола SSL (Secure Socket Layer) или шифрования при вызове удаленных процедур (RPC). При обмене данными между двумя компьютерами под управлением Windows 2000 шифрование пакетов реализуется с помощью безопасности IP (IP Security. IPSec). [PSec также поддерживается многими современными маршрутизаторами. Утилита Client Network Utility позволяет сконфигурировать SSL для Net-Libraries в SQL Server 2000. На рис. 13-1 показано, как включить шифрование в Client Network Utility.

Если компьютер, на котором работает SQL Server 2000, является сервером — членом домена Windows NT или Windows 2000, можно проверить пользователя с помощью его идентификатора безопасности (security identifier, SID). Для выполнения аутентификации средствами Windows администратор БД наделяет учетную запись пользователя или группы привилегиями для доступа к SQL Server и выполнения на нем определенных действий. Доменные учетные записи пользователей Windows обеспечивают надежную проверку и блокировку учетных записей. Доменные пароли Windows шифруют во избежание их перехвата при передаче по сети. Они чувствительны к регистру символов, что затрудняет их подбор. Кроме того, используют такие приемы, как определение минимальной длины пароля и срока его действия. Если при установке SQL Server задан чувствительный к регистру порядок сортировки, то пароль, назначенный пользователю, также окажется чувствительным к регистру. При входе в систему с клиента Windows NT или Windows 2000 доменные пароли Windows всегда чувствительны к регистру. Механизм SQL Server, позволяющий доменным учетным записям Windows устанавливать соединения с SQL Server, обсуждается далее в разделе «Безопасность SQL Server».

SQL Server 2000 может работать под управлением Windows 98, Windows Millennium Edition (ME), Windows NT и Windows 2000. Windows NT Server, Windows 2000 Server и более по- . здние редакции этих ОС обеспечивают наивысший уровень безопасности локального компьютера, доступный SQL Server 2000. Поэтому ОС, минимально необходимой для SQL Server 2000 Enterprise Edition, является Windows NT Server или Windows 2000 Server. Эти ОС поддерживают аудит системы безопасности посредством службы Event, позволяя отслеживать такие события, как вход пользователей в систему и попытки обращения к файловым объектам (например, к файлам БД). Аудит файловых объектов доступен в любом разделе NTFS (New Technology File System). NTFS необходима для работы SQL Server 2000 в Windows NT или Windows 2000. Эта файловая система поддерживает дополнительные функции безопасности, в том числе поддержку прав доступа к локальным каталогам и файлам, а также сервисы шифрования. Наконец, программа SQL Server Setup автоматически конфигурирует ограничения доступа к уязвимым настройкам реестра, связанным с SQL Server. После изменения системы безопасности ОС всегда тщательно проверяйте работу SQL Server, чтобы убедиться в сохранении должной производительности и в том, что сконфигурированные ограничения заблокировали никаких функций SQL Server.

SQL Server предоставляет обширный набор служб безопасности для 'защиты обслуживаемых им баз данных. Средства безопасности SQL Server можно разделить на четыре категории: аутентификация, авторизация, аудит и шифрование. Процесс предоставления доступа к БД состоит из двух фаз: сначала выполняется подключение к SQL Server (аутентификация), а затем открывается доступ к базе данных с ее объектами (авторизация). Разрешения на работу с объектами (object permissions) позволяют или запрещают пользователю выполнять действия над объектами БД, например таблицами и представлениями. Разрешения на выполнение SQL-операторов (statement permissions) позволяют или запрещают пользователям создавать объекты, делать копии БД и файлов журнала. Действия, выполняемые в БД, отслеживаются с помощью аудита SQL Server. Механизм аудита SQL Server, в отличие от службы Event Log в Windows NT и Windows 2000, создан специально для аудита объектов БД. Некоторые объекты БД, например хранимые процедуры, разрешается зашифровать, чтобы защитить их содержимое.

SQL Server 2000 поддерживает два режима аутентификации: средствами Windows и средствами SQL Server, Первая позволяет локальным или доменным учетным записям Windows (Windows NT или Windows 2000) подключаться к SQL Server. Вторая дает пользователям возможность подключаться к SQL Server с помощью идентификатора SQL Server. Допустимо сконфигурировать метод аутентификации на сервере во время установки SQL Server или позже с помощью диалогового окна SQL Server Properties (Configure) в Enterprise Manager (рис. 13-2).

Чтобы пользовательское учетное имя получило доступ к БД, одной аутентификации недостаточно. Кроме этого, у учетного имени, группы или роли, прошедшей аутентификацию, должно быть разрешение на исполнение SQL-выражении или на работу с объектами. Как правило, авторизация осуществляется в контексте БД. Таким образом ограничивается область видимости пользовательского доступа. Например, разрешение на доступ к таблице из БД Pubs не дает пользователю права на доступ к объектам БД Master, Однако есть особые административные разрешения, область видимости которых распространяется на весь SQL Server.

Назначение разрешений каждому пользователю в отдельности занимает много времени при сопровождении БД со средним и большим числом пользователей. Для облегчения рутинных административных операций по назначению разрешений пользователям SQL Server 2000 поддерживает группы Windows и роли SQL Server. Все группы, прошедшие аутентификацию, также подлежат авторизации. Например, глобальной доменной группе GlobalGroup01 в домене DomainOl назначен ряд привилегий для подключения к SQL Server (аутентификации) и исполнения оператора SELECT для некоторой таблицы или представления в этой БД. В этом случае любые пользователи из домена — члены группы GlobalGroup01 - смогут исполнить оператор SELECT (если где-либо еше для этого разрешения не задано состояние Deny, о котором мы расскажем чуть позже).

Разрешение может быть предоставлено (Grant), снято (Revoke) или в нем может быть отказано (Deny). При предоставлении разрешения пользователю, группе или роли (любому учетному имени) командой Grant разрешение назначается явно. При снятии разрешения с учетного имени (командой Revoke) последнее теряет соответствующее разрешение. Наконец, при отказе в предоставлении разрешения (с помощью команды Deny) на получение этого разрешения налагается явный запрет. Пользовательские разрешения представляют собой сумму всех разрешений, назначенных непосредственно этому пользователю или его группе. Сначала SQL Server обрабатывает состояние Deny, которое отнимает разрешение -независимо от способа его получения. Поэтому, если пользователь наследует это состояние или получает его явно, оно исключает все другие разрешения. Допустим, пользователю User01 дано разрешение на исполнение оператора SELECT для таблицы Table01. Этот пользователь является членом группы Group01, обладающей разрешением на исполнение оператора INSERT для той же самой таблицы. В результате учетное имя этого пользователя получает права на исполнение операторов SELECT и INSERT для таблицы Tabled. Однако если группа Group01 является членом роли Role01 у которой разрешения SELECT и INSERT находятся в состоянии Deny, пользователь не сможет ни извлечь данные из таблицы Table01, ни добавить в нее данные.

В SQL Server предусмотрены разрешения трех типов: разрешения на работу с объектами (object permissions), разрешения на выполнение SQL-операторов (statement permissions) и предполагаемые разрешения (implied permissions). Разрешения на работу с объектами относятся к объектам БД и могут различаться для разных объектов. Например, для хранимой процедуры допустимо назначить разрешение EXECUTE, а для таблицы — SELECT. Разрешения на выполнение SQL-операторов применяются к операторам Transact-SQL CREATE и BACKUP, исполняемым в БД. Например, разрешение CREATE TABLE дает пользователю возможность создавать таблицы в БД. Далее перечислены разрешения на работу с объектами и выполнение SQL-onepатopoв для различных объектов БД.

Всего 191 статей  1 2 3  »
Товары