5.2.2. създаване на вход и настройка на неговите параметри
Сайт на Delphi: ежедневни Delphi-новини, документация, статии, преглед, интервю, компютърен хумор.
Влизания от всякакъв тип се създават по същия начин:
□ с помощта на графичния интерфейс - от прозорец Вход - Нов (Нов вход). Този прозорец се отваря с помощта на командата New Login от контекстното меню на контейнера Security Logins в Object Explorer в SQL Server Management Studio;
□ от скрипт - чрез командата create login. Съхранената процедура sp_addlogin, която беше използвана за тази цел в предишни версии на SQL Server, се запазва само за обратна съвместимост и не се препоръчва.
Например, команда за създаване на вход в SQL Server с потребителско име Useri и парола P@ssw0rd (всички други параметри ще бъдат зададени по подразбиране) може да изглежда така:
СЪЗДАВАЙТЕ ВХОД Потребители С ПАРОЛА = 'P@ssw0rd';
Ако създавате данни за вход в Windows, ще трябва да изберете подходящия акаунт в Windows (домейн или локален). Не забравяйте за възможността да използвате Windows групи.
Ако създавате данни за вход в SQL Server, ще трябва да въведете потребителското име и паролата. Паролата винаги е чувствителна към малки и главни букви, а влизането е само когато чувствителността към малки и главни букви е дефинирана по време на инсталацията на SQL Server 2005.
1. Инсталирайте необходимата конзола на вашия компютър. За да направите това, в командния ред на Windows 2000 Server или Windows 2003 просто изпълнете командата Adminpak.msi. В Windows XP ще трябва първо да копирате този файл от компютър с инсталиран Windows Server 2003 (или от разпределение на Windows 2003 Server).
2. Отворете тази конзола. Най-лесният начин да го направите е следният:
• изпълнете командата mmc в командния ред;
• в менюто Console изберете команда Add or remove snap-in;
• в отворилия се прозорец натиснете бутона Добави;
• в списъка с конзолни модули изберете редактора на обекти на групови правила;
• На екрана Избор на обект на групова политика изберете Локален компютър.
3. Разширете възела за правила за локален компютър Конфигурация на компютъра Конфигурация на Windows Настройки за сигурност Правила за акаунти Правила за пароли и вижте какво очакват потребителите на SQL Server.
Ако компютърът, на който е инсталиран SQL Server 2005, не е част от домейн, тогава ще се прилагат изискванията за влизане в SQL Server 2005 по подразбиране, както е показано на Фигура 2. 5.1.
Ориз. 5.1. Изисквания за парола по подразбиране за вход в SQL Server 2005
Ако компютърът е в домейн, тогава всичко зависи от администратора на домейна.
Моля, имайте предвид, че когато е поставена отметка в квадратчето Прилагане на хронология на паролите, влизането подлежи не само на изискванията за парола, но и на правилата за блокиране на акаунти, приети на този компютър. Те се конфигурират от същата конзола с помощта на контейнера за политика за блокиране на акаунти. Параметрите, които могат да бъдат конфигурирани, и техните стойности по подразбиране са показани на фиг. 5.2.
Ориз. 5.2. Опции за блокиране на парола за влизане в SQL Server 2005 по подразбиране
Принудително изтичане на паролата - Тази опция определя дали влизането в SQL Server ще бъде обект на същите изисквания за промяна на паролата след определен период от време като акаунтите в Windows. Това квадратче за отметка може да бъде избрано само когато е поставена отметка в квадратчето Прилагане на хронология на паролите.
Потребителят трябва да промени паролата при следващо влизанеизключително внимателен. Прозорецът за промяна на паролата се появява само в SQL Server Management Studio. Повечето други приложения просто ще върнат грешка при опит за свързване като такъв потребител. Този флаг ще работи само ако разработчикът на клиентското приложение е предвидил възможност за промяна на паролата, което далеч не винаги е така.
Нанесени на сертификат и нанесени на асиметричен ключ
(Свързан с асиметричен ключ) - тези опции ви позволяват да видите сертификата или асиметричния ключ, който ще се използва за този потребител. Можете да присвоите сертификат само с помощта на командата Transact-SQL create login. Повече подробности относно използването на сертификати и асиметрични ключове за удостоверяване и криптиране на данни ще бъдат обсъдени в раздел. 5.6.
Базата данни по подразбиране, към която потребителят ще се свърже по подразбиране, когато влиза в SQL Server. Базата данни по подразбиране е master. Като общо правило не трябва да променяте тази настройка: клиентското приложение предоставя кода за навигация до правилната база данни при свързване.
Език по подразбиране - Езикът, който този потребител ще използва по подразбиране по време на сесии. Това засяга главно формата на датата и часа, върнат от SQL Server. В повечето случаи тази настройка се оставя на стойността по подразбиране (т.е. езикът, конфигуриран на ниво сървър), освен ако не е изрично поискано от разработчика.
В раздела Състояние на свойствата за влизане можете да конфигурирате допълнителни опции за това влизане:
□ Разрешения за свързване към двигателя на базата данни - по подразбиране всички влизания са зададени наПредоставяне, т.е. разрешено е свързване към SQL Server. Стойността Deny обикновено се използва само в един случай - когато предоставяте достъп до SQL Server 2005 на вход за група Windows и на един или повече членове на тази група трябва да бъде отказан достъп. Тъй като изричният отказ винаги има предимство пред разрешаването, ще бъде достатъчно да създадете свои собствени влизания в Windows за тези потребители и да ги зададете на Отказ.
□ Входът активиран/деактивиран - разбира се, всички влизания са разрешени по подразбиране. Обикновено трябва да ги деактивирате само в ситуация, в която потребител напусне или се премести на друга работа. За да спестите време, просто деактивирайте това влизане и когато се появи потребител с подобни работни задължения, преименувайте това влизане, променете паролата и го активирайте. В този случай няма да се налага отново да се занимавате с предоставяне на разрешения.
□ Влизането е заключено - не можете да поставите отметка в това квадратче (само премахнете отметката). Потребителският акаунт се заключва автоматично след многократни неправилни опити за въвеждане на парола за влизане в SQL Server, ако блокирането е конфигурирано на ниво операционна система и е избрано квадратчето за отметка Прилагане на правила за парола за влизане.
□ хеширана - показва, че не предавате паролата, а нейната хеширана стойност. Това свойство трябва да се използва само ако създавате своя собствена система за сигурност за приложението.
□ идентификационни данни - Присвоява обект на идентификационни данни (който е набор от акаунт/парола за Windows) към влизане. Обектът Credential обикновено се използва в ситуации, в които потребител от кода на Transact-SQL трябва да извърши някакво действие в операционната система или в друг SQL Server. Тезитой може да извършва действия от името на акаунта, който е дефиниран с помощта на обекта Credential. Самият обект може да бъде създаден от контейнера Credentials в SQL Server Management Studio или чрез използване на командата create credential.
□ sid - позволява ви изрично да присвоите глобално уникален идентификатор за сигурност на данните за влизане (ако не го посочите, той ще се генерира автоматично). Може да изглежда например така: 0XD3B670F1A11E6C41B8F965EA3C2E189E. Можете да го видите за съществуващ потребител, като използвате функцията suser_sid. Трябва да го конфигурирате само ако ще се използва в таблиците на вашата база данни или за допълнителни проверки.
Опциите, които се намират в другите раздели със свойства за влизане (Роли на сървъра, Картографиране на потребители, Защитени елементи), ще бъдат обсъдени в следващите раздели на тази глава.