|
Программирование >> Реализация баз данных
f - :. Учетные записи Windows Чтобы добавить учетные записи Windows и предоставить им доступ, воспользуйтесь системной хранимой процедурой sp grantlogin в Query Analyzer или в утилите командной строки показывает, как с добавить пользовател г01 из домена DGMAIN01, пользователя UserOl, зарегистрированного на компьютере (на котором работает Server), и предопределенную пу EXEC spjrantlogin ©loginame = DOMAIM01\userOr EXEC .sp grantlogln ИодШате = SQL3ERVEfl01\user0r EXEC sp grantlogin @1од1паш 0UILnM\power users Процедура sp denylogin нозволпет запретить некоторому пользователю или группе доступ к серверу без удаления четных имен из SQL Server. Такой сценарий может потребоваться, чтобы на время устраненля неисправностей или обновления БД запретить к ней доступ, не отключая БД от сети lonmif пример показывает, как средствами процедуры отказать членам предопределенной группы Power Users в подключении к SQL Server: EXE п laloginame mN\power users Чтобы удалить учетную записи dows из SQL Server, следует использовать процедуру sp revokelogin. Следующие ноказьгвает, как удалить пользователя с процедуры sp evoke 1001 п 91 ос 1 пйшр - RQl KFPVERni\UppгОГ Если учетной записи Windows предоставлены некоторые привилегии для одной или нескольких БД, процедура удалит эти привилегии и саму учетную запись из SQL Server. Идентификаторы SOI Server Для создания идентификаторов SQL Server и предоставления им доступа служит системная хранимая процедура logm Следующий пример бывает. как создать идентификатор пользователя и предоставить ему доступ с паролем password02: sp adcllogin ШдШалпе = изегОЗ, . apasswd - nassworcl02 Единственный обязательный параметр - ©loginame. Кроме ir. i,. есть необязательные параметр eflanguage, @sid ptopt. Базу данных задают льэуя параметр @defdb (по умолчание ана БД Master) nguagc определяет язык (если этот параметр не задан, используется язы вера по умолчанию). Параметр @sid позволяет задать уникальный идентификатор безопасности (SID), если он не задан, уникальный S1D автоматически генерируется базой данных. Для отмены заданного по шифро- пароля используют параметр Нельзя явно запретить аутентификацию средствами SQE Server для идентификатора SQE Server. Для этого нужно удалить идентификатор с rio\fonn,K> процедуры droplogin. Любому пользователю БД соответствует идентификатор SQE Server, который нельзя удалить, пока ту I удалены все привилегии пользователя для этой БД. Для удаления привилегий применяют системную хранимую процедуру Подробно об использовании этой в следующем разделе этого занятия. Занятие 3 Реализация и администри>оваиие системы безопасности Управление авторизацией Для получение упа к БД в SQL Server одной аутентификации не достаточно. Учетные имена системы безопасности (учетные записи Windows и идентификаторы SQL Server) помимо авторизацию, чтобы получить доступ к некоторой БД, если выполняется одно из следующих условий: доступ к БД разрешен членам группы Guest; предопределенной или другой стандартной роли, членом которой является пользова- разрешен доступ к БД; группо*к., членом которой является пользователь, разрешен доступ к БД. Настройка авторизации в Enterprise Manager В консоли Enterprise Manager раскройте узе bases, затем раскройте узел нужной БД и щелкните правой кнопкой Users. Щелкните правой кнопкой панель details, затем щелкните New Database User. В диалоговом окне Database User Properties - New User выберите учетное имя (добавляются лишь учетные имена). Также можно выбрать идентификатор пользователя, отличный от проверенного учетною имени. В этом диалоговом окне также задается членство в роли. Обратите внимание, что показанная на рис. 13-4 роль Public выбирается автоматически. Любые учетные имена, добавляемые к БД, автоматически приписываются к роли Public. Удалить пользователя БД из роли Public невозможно. После добавления учетного имени в диалоговом окне Database User Properties - New Uslt, становится активной кнопка Perraissions (рис. 13-4). Она позволяет назначать новые или просматривать ствующне разрешения. O-atabase Uet Preperiies - ev f Jeer dbacoesadnrin Рис. 13-4. Добавление пользователе гв2 к БД с помошью диалогового окна Database Users - New User Управление разрешениями набор разрешений учетной записи, которой предоставлен доступ к БД, это сумма разрешений роли Public; разрешений, предоставленных пользователю как члену других авторизованных ролей и групп, а также всех разрешений, явно назначенных этому учетному I.! Состояние Deny сводит на нет все разрешения - как унаследованные, так и предоставленные учетному имени непосредственно. Настройка разрешений в Enterprise Manager Чтобы назначить дополнительные генп.ч, нужно вызвать свойства учетного имени, которые выводятся в узле Users БД. Там пользователя необходимо приписать к фиксированной или пользовательской роли на уровне БД. Чтобы назначить разрешения 1[ег10Сред-ственно пользователю, роли или группе, щелкнув кнопку Permissions, вызовите диалоговое окно Database User Properties. Назначить разрешения для некоторого объекта можно через его свойства. SQL Server позволяет назначать только те разрешения, которые ствительны для объекта. Например, разрешение на исполнение (EXEC) может быть назначено для хранимой процедуры, не для таблицы или представления. Если в диалого-окне Database User Properties таблица или представление, то становится до- Настройка авторизации с помощью Transact-SQL Как и дл фпк;пигп, для управления авторизацией используются системные хранимые процедуры. Предоставить учетному имени доступ к БД и отменить его позволяют процедуры sp grantdbaccess и .sp rcvokedbacces.s. Они работают с любыми 1С11с1аитсльны- ми учетными именами (учетными записями Windows и идентификаторами SQL Server). Операци ставления доступа также называется определением соответствия между учетным именем и БД. программа-пример демонстрирует, как с помощью процедур! grantdbacces 1елить соответствия между БД Pubs и пользователями UserOl из домена DOMAINOI, UserO! на сервере, на котором работает SQL Server (SQL-SERVEROl), идентификатором SQL Server UserOl и локальной группой Power Users: USE pubs EXEC spgrantdbaccess @loginane = DOMAINOAUserOI EXEC sp grantdbaccess @loginame = SQLSEflVER01\[Jser01, snameindb - LocalUserOV EXEC :;p gratitclbaccess @loginatne = userOV, ..i ij.i Bin c(b = SOLlis-erOr EXEC sp grantdbaccess tsioginame = BUI.LTIN\oower users Обратите внимание, что для SQLSERVER01\User01 и идентификатора SQL Server задан параметр e ind. Он позволяет использовать псевдонимы учетных записей. Если @name in db не задан, то псевдонимом учетной записи етсн идентификатор пользователя. Для удаления учетного имени БД используется процедура Невоз- можно удалить идентификатор SQL Server, пока для всех БД, в которых у него есть привилегии, не будет исполнена процедуза sp revokedbaccess. Однако учетную запись Windows можно удалить без предварительного снятия ее привилегий для всех БД. Следующий пример показывает, как с помощью удалить из БД Pubs пользователя UserOl с псевдонимом USE pubs ЕХЕС sp rfvokedbaccess @pame in db = SOLUserOI
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |