Программирование в Microsoft SQL Server 2000

Безопасность в SQL Server 2000

Разбить на страницы
Показывать лекцию целиком

Вы научитесь:

  • создавать учетную запись Microsoft SQL Server;
  • создавать учетную запись Microsoft Windows;
  • удалять учетную запись;
  • создавать пользователя базы данных;
  • удалять пользователя базы данных;
  • создавать роль базы данных;
  • назначать пользователя для роли базы данных;
  • удалять пользователя из роли базы данных;
  • удалять роль базы данных.
  • Режимы безопасности

    Когда экземпляр SQL Server получает запрос на соединение, он проверяет идентификатор login ID. Login ID представляет собой идентификатор учетной записи, управляющий доступом к SQL Server 2000. SQL Server проверяет предоставленный идентификатор login ID на корректность, а затем определяет, имеет ли данный login ID достаточно привилегий для выполнения запрашиваемой операции. Этот процесс называется аутентификацией.

    SQL Server может выполнять аутентификацию двумя различными способами: проверять ID с помощью средств безопасности Microsoft Windows NT или Windows 2000, либо выполнять проверку самостоятельно.

    Режим аутентификации Windows Authentication

    При использовании режима аутентификации Windows (известной в предыдущей версии SQL Server как интегрированная аутентификация – integrated security) системный администратор предоставляет привилегии безопасности учетным записям и группам Windows NT или Windows 2000. Программное обеспечение клиента Windows запрашивает у сервера доверительное соединение (trusted connection). Доверительное соединение будет предоставлено, только если Windows NT или Windows 2000 уже аутентифицировал пользователя. SQL Server 2000 необходимы гарантии того, что предоставленный идентификатор учетной записи обладает доступом к серверу и базе данных.

    Примечание. Если Windows 98 не поддерживает доверительное соединение, то экземпляры SQL Server, выполняющиеся в Windows 98, не смогут использовать режим аутентификации Windows Authentication Mode. Программное обеспечение клиента, выполняющееся в Windows 98, тем не менее, может использовать аутентификацию Windows Authentication, предоставленную самим сервером, выполняющимся в Windows NT или Windows 2000.

    Режим аутентификации SQL Server Authentication

    Помимо возможности делегировать Windows аутентификацию учетной записи при использовании режима аутентификации Windows Authentication Mode, SQL Server 2000 предоставляет и свою собственную систему безопасности под вполне естественным названием Server Authentication (известную в предыдущей версии SQL Server как стандартная аутентификация – standard security). При запросе соединения с использованием режима аутентификации SQL Server Authentication, SQL Server 2000 получает идентификатор учетной записи login ID и пароль, которые затем сверяются со списком учетных записей системного администратора.

    Примечание. Microsoft рекомендует всегда использовать режим аутентификации Windows Authentication.

    Учетные записи пользователя

    Безопасность в пределах SQL Server 2000 обеспечивается с помощью нескольких объектов безопасности. Самым верхним уровнем здесь являются учетные записи, которые идентифицируют для сервера пользователя SQL Server 2000, пользователя Windows или группу Windows.

    Примечание. Для выполнения следующих упражнений вы должны иметь роль Security Administrators или System Administrators в пределах SQL Server. Если у вас есть сомнения насчет ваших полномочий в пределах системы, проконсультируйтесь у вашего администратора базы данных.

    Создание учетной записи пользователя

    Учетные записи могут быть созданы вручную с помощью нажатия на значке Logins в папке Security сервера и выбором в контекстном меню New Login (Создать учетную запись). Однако проще будет сделать это с использованием мастера создания учетной записи Create Login Wizard.

    Создайте учетную запись SQL Server

  • В дереве консоли Console Tree выберите сервер. SQL Server отобразит в панели деталей Details Pane список объектов сервера.
  • Нажмите на кнопку Wizard (Мастер)в панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Select Wizard (Выбор мастера).
  • В разделе Database (База данных) выберите Create Login Wizard (Мастер создания учетной записи) и нажмите OK. SQL Server отобразит первую страницу мастера Create Login Wizard.
  • Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать режим аутентификации сервера для учетной записи.
  • Выберите опцию под названием SQL Server Login Information That Was Assigned To Me By The System Administrator (SQL Server Authentication). При этом будет использоваться информация об учетной записи, назначенная вам системным администратором.
  • Нажмите Next (Далее). Мастер отобразит страницу, предлагающую вам ввести идентификатор учетной записи (login ID) и пароль (password).
  • Введите TestID в качестве имени и любой пароль.
  • Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать роли безопасности, которые будет действовать для данной учетной записи.
  • Добавьте учетную запись к роли System Administrators.
  • Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать базу данных, к которой эта учетная запись будет иметь доступ.
  • Роли сервера

    Роли сервера, к которым назначаются учетные записи, определяют, какие привилегии безопасности будет иметь учетная запись. В таблице 3-1 описываются привилегии для каждой роли.

    Полное имяИмяОписание
    Bulk Insert Administrators (Администраторы сплошной вставки данных) bulkadmin Может выполнять операции вставки типа "bulk insert".
    Database Creators (Создатели баз данных) dbcreator Может создавать, изменять или прекращать работу баз данных.
    Disk Administrators (Администраторы диска) diskadmin Может управлять файлами диска.
    Process Administrators (Администраторы процесса) processadmin Может управлять процессами, запущенными в SQL Server.
    Security Administrators (Администраторы безопасности) securityadmin Может управлять учетными записями и разрешениями CREATE DATABASE, а также читать журнал ошибок.
    Server Administrators (Администраторы сервера) serveradmin Может управлять конфигурированием всего сервера и выключать его.
    Setup Administrators (Администраторы настройки) setupadmin Может управлять связанными серверами, процедурами, автоматически выполняющимися при запуске, и хранимыми процедурами.
    System Administrators (Системные администраторы) sysadmin Может выполнять любые действия в SQL Server.
  • Добавьте для учетной записи базу данных Aromatherapy.
  • Нажмите Next (Далее). Мастер отобразит страницу со списком сделанных вами установок.
  • Примечание. Учетные записи, принадлежащие определенным ролям сервера (в частности роли System Administrators) будут иметь привилегии для доступа ко всем базам данных, независимо от того, были ли они назначены этой учетной записи или нет.

  • Нажмите Finish (Готово). Мастер Create Login Wizard отобразит сообщение об успешном добавлении учетной записи.
  • Создайте учетную запись Windows

  • В дереве консоли Console Tree выберите сервер. SQL Server отобразит список объектов сервера в панели деталей Details Pane.
  • Нажмите на кнопку Wizard (Мастер)в панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Select Wizard (Выбор мастера).
  • В разделе Database (База данных) выберите Create Login Wizard (Мастер создания учетной записи) и нажмите на OK. SQL Server отобразит первую страницу мастера Create Login Wizard.
  • Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать для сервера режим аутентификации учетной записи. Примите установки по умолчанию.
  • Нажмите Next (Далее). Мастер отобразит страницу, запрашивающую у вас идентификатор учетной записи Windows ID.
  • Введите идентификатор учетной записи Windows ID в поле формы: имя домена \ имя учетной записи (имя учетной записи может быть именем пользователя или группы). Нажмите Next (Далее). Мастер отобразит страницу, приглашающую выбрать роли безопасности, к которым будет назначена учетная запись.
  • Совет. Опция Deny Access To Server (Запретить доступ к серверу) на этой странице может быть использована только для запрещения доступа для индивидуального пользователя или группы.

  • Добавьте учетную запись к роли Database Creators (Создатели баз данных).
  • Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать базу данных, к которой эта учетная запись будет иметь доступ.
  • Добавьте для учетной записи базу данных Aromatherapy.
  • Нажмите Next (Далее). Мастер отобразит страницу со списком сделанных вами установок.
  • Примечание. Учетные записи, принадлежащие определенным ролям сервера (в частности роли System Administrators) будут иметь привилегии для доступа ко всем базам данных, независимо от того, были ли они назначены этой учетной записи или нет.

  • Нажмите Finish (Готово). Мастер Create Login Wizard отобразит сообщение об успешном добавлении учетной записи.
  • Управление учетными записями

    Подобно тому, как вам периодически приходится обслуживать некоторые другие объекты базы данных, вам может потребоваться изменить свойства учетной записи пользователя. Например, вы захотите изменить роль безопасности, которой назначена учетная запись или, например, изменить базу данных, к которой имеет доступ учетная запись. Наконец, вам может понадобится окончательно удалить запись. Все эти операции легко выполнить с помощью Enterprise Manager.

    Измените свойства учетной записи

  • В дереве консоли Console Tree в папке Security найдите значок Logins. SQL Server отобразит список учетных записей в панели деталей Details Pane.
  • В панели деталей Details Pane нажмите два раза на учетной записи. SQL Server отобразит диалоговое окно SQL Server Login Properties (Свойства учетной записи SQL Server).
  • Выберите вкладку Server Roles (Роли сервера). SQL Server отобразит роли сервера, к которым будет назначена учетная запись.
  • Удалите учетную запись из роли System Administrators.
  • Выберите вкладку Database Access (Доступ к базе данных). SQL Server отобразит базы данных, к которым учетная запись имеет доступ.
  • Добавьте Northwind к списку баз данных.
  • Нажмите OK. Диалоговое окно SQL Server Login Properties (Свойства учетной записи SQL Server) закроется. SQL Server изменит свойства учетной записи.
  • Удалите учетную запись

  • В дереве консоли Console Tree в папке Security найдите значок Logins. SQL Server отобразит список учетных записей в панели деталей Details Pane.
  • Выберите учетную запись TestID в Details Pane и нажмите кнопку Delete (Удалить). SQL Server отобразит сообщение с запросом для подтверждения удаления записи.
  • Нажмите Yes (Да). SQL Server удалит учетную запись.
  • Безопасность на уровне базы данных

    На уровне базы данных каждая учетная запись пользователя в Windows или SQL Server связывается с учетной записью пользователя в базе данных. Даже если кто-то имеет доступ к экземпляру SQL Server с использованием назначенной учетной записи, это еще не означает, что он или она имеет доступ к определенной базе данных, если конечно он или она не являются пользователями этой базы данных.

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

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

    Пользователи базы данных

    Когда вы создаете новую учетную запись, с помощью Create Login Wizard и назначаете ей доступ в базу данных, учетная запись будет автоматически добавлена в список пользователей этой базы данных. Однако, может случиться, что вы создали новую базу данных и захотели добавить в нее существующую учетную запись в виде пользователя.

    Создайте пользователя базы данных

  • В базе данных Aromatherapy найдите значок Users. SQL Server отобразит список пользователей в панели детализации Details Pane.
  • Нажмите кнопку New (Создать)в панели инструментов Enterprise Manager.
  • Совет. Вы можете также открыть диалоговое окно Database User Properties (Свойства пользователя базы данных), нажав два раза на значке Users в дереве консоли Console Tree и выбрав из контекстного меню New Database User (Новый пользователь базы данных).

  • В поле списка выберите вашу учетную запись. SQL Server предполагает по умолчанию использовать в качестве имени учетной записи имя пользователя, но при желании вы можете изменить его.
  • Добавьте db_owner в качестве роли для нового пользователя.
  • Нажмите OK. SQL Server добавит пользователя к базе данных.
  • Совет. Роли, которые назначаются пользователю базы данных, определяют, какие привилегии безопасности этот пользователь будет иметь для базы данных. За дополнительной информацией по этому вопросу, обратитесь к разделу "Роли базы данных".

    Удалите пользователя базы данных

  • В базе данных Aromatherapy найдите значок Users. SQL Server отобразит список пользователей в панели детализации Details Pane.
  • Выберите пользователя, которого вы создали в предыдущем упражнении, и нажмите кнопку Delete (Удалить). SQL Server отобразит окно сообщение для подтверждения удаления.
  • Нажмите Yes (Да). SQL Server удалит пользователя из базы данных.
  • Роли базы данных

    Роль базы данных – является виртуальным пользователем, которого вы создали для управления доступом в базу данных. Роли может быть назначено любое число пользователей базы данных, а определенному пользователю может соответствовать множество ролей. Когда вы устанавливаете привилегии для роли базы данных, а затем назначаете пользователя этой роли, то при этом пользователь получает все привилегии указанной роли. Это намного проще, чем обслуживать привилегии отдельного пользователя. В таблице 3-2 представлены роли, которые доступны в SQL Server 2000. Вы также можете создавать свои роли, которые будут уникальными для вашей базы данных.

    Совет. Роли базы данных, которые вы создадите в базе данных master, будут добавляться в любую новую базу данных, которую вы создадите для этого сервера.

    Полное имя Имя Описание
    Access Administrator (Администратор доступа) db_accessadmin Может удалять или добавлять ID-идетификаторы пользователя.
    Backup Operator (Оператор резервного копирования) db_backupoperator Может выдавать операторы DBCC, CHECKPOINT, BACKUP.
    Data Reader (Чтение данных) db_datareader Может выбирать все данные из любой таблицы пользователя в базе данных.
    Data Writer (Запись данных) db_datawriter Может модифицировать данные из любой таблицы пользователя в базе данных.
    Data Definition Administrator (Администратор описания данных) db_ddladmin Может выполнять операторы языка описания данных Data Definition Language (DDL), но не может выдавать операторы GRANT, REVOKE, DENY.
    Deny Data Reader (Запрет чтения данных) db_denydatareader Может запрещать или отменять полномочия SELECT для любых объектов базы данных.
    Deny Data Writer(Запрет записи данных) db_denydatawriter Может запрещать или отменять полномочия INSERT, UPDATE и DELETE для любых объектов базы данных.
    Database Owner (Владелец базы данных) db_owner Имеет все полномочия в базе данных.
    Security Administrator (Администратор безопасности) db_securityadmin Может управлять всеми полномочиями, объектами, ролями и элементами ролей пользователей.
    Public (Общая) Роль по умолчанию, к которой принадлежат все пользователи базы данных.

    Создайте роль базы данных

  • В дереве консоли Console Tree в базе данных Aromatherapy нажмите на значке Roles. SQL Server отобразит список всех существующих ролей базы данных.
  • Нажмите на значке New (Создать)в панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Database Role Properties (Свойства роли базы данных).
  • Введите в качестве имени роли:
  • Нажмите OK. SQL Server закроет диалоговое окно Database Role Properties (Свойства роли базы данных).
  • В панели деталей Details Pane дважды щелкните на роли
  • Примечание. Вы должны закрыть и снова открыть диалоговое окно Database Role Properties (Свойства роли базы данных), чтобы иметь возможность воспользоваться кнопкой Permissions (Разрешения).

  • Нажмите кнопку Permissions (Разрешения). SQL Server отобразит диалоговое окно Permissions (Разрешения).
  • Совет. Диалоговое окно Database Role Properties (Свойства роли базы данных) поддерживает два типа ролей: стандартные роли (standard roles) и роли приложения (application roles). Роли, рассматриваемые в этом уроке, являются стандартными ролями. Роль приложения является специальной функцией, поддерживающей требования сложных приложений. За дополнительной информацией о ролях приложений обратитесь к разделу "Установка режима безопасности для приложений и ролей приложений" в SQL Server Books Online (онлайновая книга по SQL Server 2000).

  • В таблице Oils задайте для роли разрешение Select.
  • Нажмите OK. SQL Server закроет диалоговое окно Permissions (Разрешения).
  • Нажмите OK. SQL Server добавит новую роль.
  • Назначьте пользователя роли базы данных

  • В дереве консоли Console Tree для базы данных Aromatherapy нажмите на значке Users. SQL Server отобразит список пользователей в панели деталей Details Pane.
  • В списке пользователей дважды щелкните на вашем имени пользователя. SQL Server отобразит диалоговое окно Database User Properties (Свойства пользователя базы данных).
  • В окне со списком Database Role Membership (Элементы роли базы данных) нажмите на роль урок 3 для добавления пользователя.
  • Нажмите OK. SQL Server добавит пользователя в роль и закроет диалоговое окно Database User Properties (Свойства пользователя базы данных).
  • Удалите пользователя из роли базы данных

  • В дереве консоли Console Tree в базе данных Aromatherapy найдите значок Users. SQL Server отобразит список пользователей в панели деталей Details Pane.
  • В списке пользователей дважды щелкните на вашем имени пользователя. SQL Server отобразит диалоговое окно Database User Properties (Свойства пользователя базы данных).
  • В списке Database Role Membership (Элементы роли базы данных) снимите выделение для роли
  • Нажмите OK. SQL Server удалит пользователя из роли и закроет диалоговое окно.
  • Удалите роль базы данных

  • В дереве консоли Console Tree для базы данных Aromatherapy найдите значок Roles. SQL Server отобразит список ролей в панели деталей Details Pane.
  • В панели деталей Details Pane выберите роль урок 3 и нажмите кнопку Delete (Удалить). SQL Server отобразит сообщение для подтверждения удаления.
  • Нажмите Yes (Да). SQL Server удалит роль из базы данных.
  • Краткое содержание

    Чтобы...Сделайте следующее
    Создать учетную запись SQL Server Выберите сервер в дереве консоли Console Tree, затем в панели инструментов Enterprise Manager нажмите на кнопке Wizard (Мастер) для отображения диалогового окна Select Wizard (Выбор мастера). В разделе Database (База данных) выберите Create Login Wizard (Мастер создания учетной записи). На странице, запрашивающей метод аутентификации, выберите SQL Server Login Information That Was Assigned To Me By The System Administrator (SQL Server Authentication).
    Создать учетную запись Windows Выберите сервер в дереве консоли Console Tree, затем в панели инструментов Enterprise Manager нажмите на кнопке Wizard (Мастер) для отображения диалогового окна Select Wizard (Выбор мастера). В разделе Database (База данных) выберите Create Login Wizard (Мастер создания учетной записи). На странице, запрашивающей метод аутентификации, выберите Windows Account Information I Use To Logon To My Computer (Windows Authentication).
    Удалить учетную запись В дереве консоли Console Tree в папке Security выберите значок Logins. Выберите учетную запись, которую вы хотите удалить, и щелкните на кнопке Delete (Удалить).
    Создать пользователя базы данных В дереве консоли Console Tree для базы данных щелкните правой кнопкой на значке Users, а затем нажмите на New Database User (Пользователь базы данных). В поле со списком выберите имя учетной записи (имя пользователя при желании можете изменить), выберите роль и нажмите OK.
    Удалить пользователя базы данных В Console Tree в базе данных найдите значок Users. Выберите в Details Pane пользователя из списка и нажмите кнопку Delete.
    Создать роль базы данных В дереве консоли Console Tree для базы данных щелкните правой кнопкой на значке Roles, а затем нажмите на New Database Role (Новая роль базы данных). В диалоговом окне выберите имя роли и затем нажмите на Permissions (Разрешения) для назначения полномочий этой роли.
    Назначение пользователя роли базы данных В дереве консоли Console Tree для базы данных найдите значок Users. В списке в панели деталей Details Pane дважды щелкните на пользователе. В диалоговом окне дважды щелкните на роли, чтобы назначить ей пользователя.
    Удаление пользователя из роли базы данных В дереве консоли Console Tree для базы данных найдите значок Users. В списке в панели деталей Details Pane дважды щелкните на пользователе. Снимите выделение в списке Database Role Membership (Элементы роли базы данных) для удаления пользователя из роли.
    Удаление роли базы данных В дереве консоли Console Tree для базы данных найдите значок Roles. В панели деталей Details Pane выберите роль из списка и щелкните на кнопке Delete (Удалить).
    Страницы:

    Вы научитесь:

  • создавать учетную запись Microsoft SQL Server;
  • создавать учетную запись Microsoft Windows;
  • удалять учетную запись;
  • создавать пользователя базы данных;
  • удалять пользователя базы данных;
  • создавать роль базы данных;
  • назначать пользователя для роли базы данных;
  • удалять пользователя из роли базы данных;
  • удалять роль базы данных.
  • Режимы безопасности

    Когда экземпляр SQL Server получает запрос на соединение, он проверяет идентификатор login ID. Login ID представляет собой идентификатор учетной записи, управляющий доступом к SQL Server 2000. SQL Server проверяет предоставленный идентификатор login ID на корректность, а затем определяет, имеет ли данный login ID достаточно привилегий для выполнения запрашиваемой операции. Этот процесс называется аутентификацией.

    SQL Server может выполнять аутентификацию двумя различными способами: проверять ID с помощью средств безопасности Microsoft Windows NT или Windows 2000, либо выполнять проверку самостоятельно.

    Режим аутентификации Windows Authentication

    При использовании режима аутентификации Windows (известной в предыдущей версии SQL Server как интегрированная аутентификация – integrated security) системный администратор предоставляет привилегии безопасности учетным записям и группам Windows NT или Windows 2000. Программное обеспечение клиента Windows запрашивает у сервера доверительное соединение (trusted connection). Доверительное соединение будет предоставлено, только если Windows NT или Windows 2000 уже аутентифицировал пользователя. SQL Server 2000 необходимы гарантии того, что предоставленный идентификатор учетной записи обладает доступом к серверу и базе данных.

    Примечание. Если Windows 98 не поддерживает доверительное соединение, то экземпляры SQL Server, выполняющиеся в Windows 98, не смогут использовать режим аутентификации Windows Authentication Mode. Программное обеспечение клиента, выполняющееся в Windows 98, тем не менее, может использовать аутентификацию Windows Authentication, предоставленную самим сервером, выполняющимся в Windows NT или Windows 2000.

    Режим аутентификации SQL Server Authentication

    Помимо возможности делегировать Windows аутентификацию учетной записи при использовании режима аутентификации Windows Authentication Mode, SQL Server 2000 предоставляет и свою собственную систему безопасности под вполне естественным названием Server Authentication (известную в предыдущей версии SQL Server как стандартная аутентификация – standard security). При запросе соединения с использованием режима аутентификации SQL Server Authentication, SQL Server 2000 получает идентификатор учетной записи login ID и пароль, которые затем сверяются со списком учетных записей системного администратора.

    Примечание. Microsoft рекомендует всегда использовать режим аутентификации Windows Authentication.

    Учетные записи пользователя

    Безопасность в пределах SQL Server 2000 обеспечивается с помощью нескольких объектов безопасности. Самым верхним уровнем здесь являются учетные записи, которые идентифицируют для сервера пользователя SQL Server 2000, пользователя Windows или группу Windows.

    Примечание. Для выполнения следующих упражнений вы должны иметь роль Security Administrators или System Administrators в пределах SQL Server. Если у вас есть сомнения насчет ваших полномочий в пределах системы, проконсультируйтесь у вашего администратора базы данных.

    Создание учетной записи пользователя

    Учетные записи могут быть созданы вручную с помощью нажатия на значке Logins в папке Security сервера и выбором в контекстном меню New Login (Создать учетную запись). Однако проще будет сделать это с использованием мастера создания учетной записи Create Login Wizard.

    Создайте учетную запись SQL Server

  • В дереве консоли Console Tree выберите сервер. SQL Server отобразит в панели деталей Details Pane список объектов сервера.
  • Нажмите на кнопку Wizard (Мастер)в панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Select Wizard (Выбор мастера).
  • В разделе Database (База данных) выберите Create Login Wizard (Мастер создания учетной записи) и нажмите OK. SQL Server отобразит первую страницу мастера Create Login Wizard.
  • Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать режим аутентификации сервера для учетной записи.
  • Выберите опцию под названием SQL Server Login Information That Was Assigned To Me By The System Administrator (SQL Server Authentication). При этом будет использоваться информация об учетной записи, назначенная вам системным администратором.
  • Нажмите Next (Далее). Мастер отобразит страницу, предлагающую вам ввести идентификатор учетной записи (login ID) и пароль (password).
  • Введите TestID в качестве имени и любой пароль.
  • Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать роли безопасности, которые будет действовать для данной учетной записи.
  • Добавьте учетную запись к роли System Administrators.
  • Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать базу данных, к которой эта учетная запись будет иметь доступ.
  • Роли сервера

    Роли сервера, к которым назначаются учетные записи, определяют, какие привилегии безопасности будет иметь учетная запись. В таблице 3-1 описываются привилегии для каждой роли.

    Полное имяИмяОписание
    Bulk Insert Administrators (Администраторы сплошной вставки данных) bulkadmin Может выполнять операции вставки типа "bulk insert".
    Database Creators (Создатели баз данных) dbcreator Может создавать, изменять или прекращать работу баз данных.
    Disk Administrators (Администраторы диска) diskadmin Может управлять файлами диска.
    Process Administrators (Администраторы процесса) processadmin Может управлять процессами, запущенными в SQL Server.
    Security Administrators (Администраторы безопасности) securityadmin Может управлять учетными записями и разрешениями CREATE DATABASE, а также читать журнал ошибок.
    Server Administrators (Администраторы сервера) serveradmin Может управлять конфигурированием всего сервера и выключать его.
    Setup Administrators (Администраторы настройки) setupadmin Может управлять связанными серверами, процедурами, автоматически выполняющимися при запуске, и хранимыми процедурами.
    System Administrators (Системные администраторы) sysadmin Может выполнять любые действия в SQL Server.
  • Добавьте для учетной записи базу данных Aromatherapy.
  • Нажмите Next (Далее). Мастер отобразит страницу со списком сделанных вами установок.
  • Примечание. Учетные записи, принадлежащие определенным ролям сервера (в частности роли System Administrators) будут иметь привилегии для доступа ко всем базам данных, независимо от того, были ли они назначены этой учетной записи или нет.

  • Нажмите Finish (Готово). Мастер Create Login Wizard отобразит сообщение об успешном добавлении учетной записи.
  • Создайте учетную запись Windows

  • В дереве консоли Console Tree выберите сервер. SQL Server отобразит список объектов сервера в панели деталей Details Pane.
  • Нажмите на кнопку Wizard (Мастер)в панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Select Wizard (Выбор мастера).
  • В разделе Database (База данных) выберите Create Login Wizard (Мастер создания учетной записи) и нажмите на OK. SQL Server отобразит первую страницу мастера Create Login Wizard.
  • Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать для сервера режим аутентификации учетной записи. Примите установки по умолчанию.
  • Нажмите Next (Далее). Мастер отобразит страницу, запрашивающую у вас идентификатор учетной записи Windows ID.
  • Введите идентификатор учетной записи Windows ID в поле формы: имя домена \ имя учетной записи (имя учетной записи может быть именем пользователя или группы). Нажмите Next (Далее). Мастер отобразит страницу, приглашающую выбрать роли безопасности, к которым будет назначена учетная запись.
  • Совет. Опция Deny Access To Server (Запретить доступ к серверу) на этой странице может быть использована только для запрещения доступа для индивидуального пользователя или группы.

  • Добавьте учетную запись к роли Database Creators (Создатели баз данных).
  • Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать базу данных, к которой эта учетная запись будет иметь доступ.
  • Добавьте для учетной записи базу данных Aromatherapy.
  • Нажмите Next (Далее). Мастер отобразит страницу со списком сделанных вами установок.
  • Примечание. Учетные записи, принадлежащие определенным ролям сервера (в частности роли System Administrators) будут иметь привилегии для доступа ко всем базам данных, независимо от того, были ли они назначены этой учетной записи или нет.

  • Нажмите Finish (Готово). Мастер Create Login Wizard отобразит сообщение об успешном добавлении учетной записи.
  • Управление учетными записями

    Подобно тому, как вам периодически приходится обслуживать некоторые другие объекты базы данных, вам может потребоваться изменить свойства учетной записи пользователя. Например, вы захотите изменить роль безопасности, которой назначена учетная запись или, например, изменить базу данных, к которой имеет доступ учетная запись. Наконец, вам может понадобится окончательно удалить запись. Все эти операции легко выполнить с помощью Enterprise Manager.

    Измените свойства учетной записи

  • В дереве консоли Console Tree в папке Security найдите значок Logins. SQL Server отобразит список учетных записей в панели деталей Details Pane.
  • В панели деталей Details Pane нажмите два раза на учетной записи. SQL Server отобразит диалоговое окно SQL Server Login Properties (Свойства учетной записи SQL Server).
  • Выберите вкладку Server Roles (Роли сервера). SQL Server отобразит роли сервера, к которым будет назначена учетная запись.
  • Удалите учетную запись из роли System Administrators.
  • Выберите вкладку Database Access (Доступ к базе данных). SQL Server отобразит базы данных, к которым учетная запись имеет доступ.
  • Добавьте Northwind к списку баз данных.
  • Нажмите OK. Диалоговое окно SQL Server Login Properties (Свойства учетной записи SQL Server) закроется. SQL Server изменит свойства учетной записи.
  • Удалите учетную запись

  • В дереве консоли Console Tree в папке Security найдите значок Logins. SQL Server отобразит список учетных записей в панели деталей Details Pane.
  • Выберите учетную запись TestID в Details Pane и нажмите кнопку Delete (Удалить). SQL Server отобразит сообщение с запросом для подтверждения удаления записи.
  • Нажмите Yes (Да). SQL Server удалит учетную запись.
  • Безопасность на уровне базы данных

    На уровне базы данных каждая учетная запись пользователя в Windows или SQL Server связывается с учетной записью пользователя в базе данных. Даже если кто-то имеет доступ к экземпляру SQL Server с использованием назначенной учетной записи, это еще не означает, что он или она имеет доступ к определенной базе данных, если конечно он или она не являются пользователями этой базы данных.

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

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

    Пользователи базы данных

    Когда вы создаете новую учетную запись, с помощью Create Login Wizard и назначаете ей доступ в базу данных, учетная запись будет автоматически добавлена в список пользователей этой базы данных. Однако, может случиться, что вы создали новую базу данных и захотели добавить в нее существующую учетную запись в виде пользователя.

    Создайте пользователя базы данных

  • В базе данных Aromatherapy найдите значок Users. SQL Server отобразит список пользователей в панели детализации Details Pane.
  • Нажмите кнопку New (Создать)в панели инструментов Enterprise Manager.
  • Совет. Вы можете также открыть диалоговое окно Database User Properties (Свойства пользователя базы данных), нажав два раза на значке Users в дереве консоли Console Tree и выбрав из контекстного меню New Database User (Новый пользователь базы данных).

  • В поле списка выберите вашу учетную запись. SQL Server предполагает по умолчанию использовать в качестве имени учетной записи имя пользователя, но при желании вы можете изменить его.
  • Добавьте db_owner в качестве роли для нового пользователя.
  • Нажмите OK. SQL Server добавит пользователя к базе данных.
  • Совет. Роли, которые назначаются пользователю базы данных, определяют, какие привилегии безопасности этот пользователь будет иметь для базы данных. За дополнительной информацией по этому вопросу, обратитесь к разделу "Роли базы данных".

    Удалите пользователя базы данных

  • В базе данных Aromatherapy найдите значок Users. SQL Server отобразит список пользователей в панели детализации Details Pane.
  • Выберите пользователя, которого вы создали в предыдущем упражнении, и нажмите кнопку Delete (Удалить). SQL Server отобразит окно сообщение для подтверждения удаления.
  • Нажмите Yes (Да). SQL Server удалит пользователя из базы данных.
  • Роли базы данных

    Роль базы данных – является виртуальным пользователем, которого вы создали для управления доступом в базу данных. Роли может быть назначено любое число пользователей базы данных, а определенному пользователю может соответствовать множество ролей. Когда вы устанавливаете привилегии для роли базы данных, а затем назначаете пользователя этой роли, то при этом пользователь получает все привилегии указанной роли. Это намного проще, чем обслуживать привилегии отдельного пользователя. В таблице 3-2 представлены роли, которые доступны в SQL Server 2000. Вы также можете создавать свои роли, которые будут уникальными для вашей базы данных.

    Совет. Роли базы данных, которые вы создадите в базе данных master, будут добавляться в любую новую базу данных, которую вы создадите для этого сервера.

    Полное имя Имя Описание
    Access Administrator (Администратор доступа) db_accessadmin Может удалять или добавлять ID-идетификаторы пользователя.
    Backup Operator (Оператор резервного копирования) db_backupoperator Может выдавать операторы DBCC, CHECKPOINT, BACKUP.
    Data Reader (Чтение данных) db_datareader Может выбирать все данные из любой таблицы пользователя в базе данных.
    Data Writer (Запись данных) db_datawriter Может модифицировать данные из любой таблицы пользователя в базе данных.
    Data Definition Administrator (Администратор описания данных) db_ddladmin Может выполнять операторы языка описания данных Data Definition Language (DDL), но не может выдавать операторы GRANT, REVOKE, DENY.
    Deny Data Reader (Запрет чтения данных) db_denydatareader Может запрещать или отменять полномочия SELECT для любых объектов базы данных.
    Deny Data Writer(Запрет записи данных) db_denydatawriter Может запрещать или отменять полномочия INSERT, UPDATE и DELETE для любых объектов базы данных.
    Database Owner (Владелец базы данных) db_owner Имеет все полномочия в базе данных.
    Security Administrator (Администратор безопасности) db_securityadmin Может управлять всеми полномочиями, объектами, ролями и элементами ролей пользователей.
    Public (Общая) Роль по умолчанию, к которой принадлежат все пользователи базы данных.

    Создайте роль базы данных

  • В дереве консоли Console Tree в базе данных Aromatherapy нажмите на значке Roles. SQL Server отобразит список всех существующих ролей базы данных.
  • Нажмите на значке New (Создать)в панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Database Role Properties (Свойства роли базы данных).
  • Введите в качестве имени роли:
  • Нажмите OK. SQL Server закроет диалоговое окно Database Role Properties (Свойства роли базы данных).
  • В панели деталей Details Pane дважды щелкните на роли
  • Примечание. Вы должны закрыть и снова открыть диалоговое окно Database Role Properties (Свойства роли базы данных), чтобы иметь возможность воспользоваться кнопкой Permissions (Разрешения).

  • Нажмите кнопку Permissions (Разрешения). SQL Server отобразит диалоговое окно Permissions (Разрешения).
  • Совет. Диалоговое окно Database Role Properties (Свойства роли базы данных) поддерживает два типа ролей: стандартные роли (standard roles) и роли приложения (application roles). Роли, рассматриваемые в этом уроке, являются стандартными ролями. Роль приложения является специальной функцией, поддерживающей требования сложных приложений. За дополнительной информацией о ролях приложений обратитесь к разделу "Установка режима безопасности для приложений и ролей приложений" в SQL Server Books Online (онлайновая книга по SQL Server 2000).

  • В таблице Oils задайте для роли разрешение Select.
  • Нажмите OK. SQL Server закроет диалоговое окно Permissions (Разрешения).
  • Нажмите OK. SQL Server добавит новую роль.
  • Назначьте пользователя роли базы данных

  • В дереве консоли Console Tree для базы данных Aromatherapy нажмите на значке Users. SQL Server отобразит список пользователей в панели деталей Details Pane.
  • В списке пользователей дважды щелкните на вашем имени пользователя. SQL Server отобразит диалоговое окно Database User Properties (Свойства пользователя базы данных).
  • В окне со списком Database Role Membership (Элементы роли базы данных) нажмите на роль урок 3 для добавления пользователя.
  • Нажмите OK. SQL Server добавит пользователя в роль и закроет диалоговое окно Database User Properties (Свойства пользователя базы данных).
  • Удалите пользователя из роли базы данных

  • В дереве консоли Console Tree в базе данных Aromatherapy найдите значок Users. SQL Server отобразит список пользователей в панели деталей Details Pane.
  • В списке пользователей дважды щелкните на вашем имени пользователя. SQL Server отобразит диалоговое окно Database User Properties (Свойства пользователя базы данных).
  • В списке Database Role Membership (Элементы роли базы данных) снимите выделение для роли
  • Нажмите OK. SQL Server удалит пользователя из роли и закроет диалоговое окно.
  • Удалите роль базы данных

  • В дереве консоли Console Tree для базы данных Aromatherapy найдите значок Roles. SQL Server отобразит список ролей в панели деталей Details Pane.
  • В панели деталей Details Pane выберите роль урок 3 и нажмите кнопку Delete (Удалить). SQL Server отобразит сообщение для подтверждения удаления.
  • Нажмите Yes (Да). SQL Server удалит роль из базы данных.
  • Краткое содержание

    Чтобы...Сделайте следующее
    Создать учетную запись SQL Server Выберите сервер в дереве консоли Console Tree, затем в панели инструментов Enterprise Manager нажмите на кнопке Wizard (Мастер) для отображения диалогового окна Select Wizard (Выбор мастера). В разделе Database (База данных) выберите Create Login Wizard (Мастер создания учетной записи). На странице, запрашивающей метод аутентификации, выберите SQL Server Login Information That Was Assigned To Me By The System Administrator (SQL Server Authentication).
    Создать учетную запись Windows Выберите сервер в дереве консоли Console Tree, затем в панели инструментов Enterprise Manager нажмите на кнопке Wizard (Мастер) для отображения диалогового окна Select Wizard (Выбор мастера). В разделе Database (База данных) выберите Create Login Wizard (Мастер создания учетной записи). На странице, запрашивающей метод аутентификации, выберите Windows Account Information I Use To Logon To My Computer (Windows Authentication).
    Удалить учетную запись В дереве консоли Console Tree в папке Security выберите значок Logins. Выберите учетную запись, которую вы хотите удалить, и щелкните на кнопке Delete (Удалить).
    Создать пользователя базы данных В дереве консоли Console Tree для базы данных щелкните правой кнопкой на значке Users, а затем нажмите на New Database User (Пользователь базы данных). В поле со списком выберите имя учетной записи (имя пользователя при желании можете изменить), выберите роль и нажмите OK.
    Удалить пользователя базы данных В Console Tree в базе данных найдите значок Users. Выберите в Details Pane пользователя из списка и нажмите кнопку Delete.
    Создать роль базы данных В дереве консоли Console Tree для базы данных щелкните правой кнопкой на значке Roles, а затем нажмите на New Database Role (Новая роль базы данных). В диалоговом окне выберите имя роли и затем нажмите на Permissions (Разрешения) для назначения полномочий этой роли.
    Назначение пользователя роли базы данных В дереве консоли Console Tree для базы данных найдите значок Users. В списке в панели деталей Details Pane дважды щелкните на пользователе. В диалоговом окне дважды щелкните на роли, чтобы назначить ей пользователя.
    Удаление пользователя из роли базы данных В дереве консоли Console Tree для базы данных найдите значок Users. В списке в панели деталей Details Pane дважды щелкните на пользователе. Снимите выделение в списке Database Role Membership (Элементы роли базы данных) для удаления пользователя из роли.
    Удаление роли базы данных В дереве консоли Console Tree для базы данных найдите значок Roles. В панели деталей Details Pane выберите роль из списка и щелкните на кнопке Delete (Удалить).
    Вернуться к учебному плану