Створення логінів у SQL Server 2005, CREATE LOGIN

Створення логінів у SQL Server 2005, CREATE LOGIN, парольні політики, властивості логінів

Логіни будь-якого типу створюються однаково:

q за допомогою графічного інтерфейсу - з вікнаLogin -New(Новий логін). Це вікно відкривається за допомогою командиNewLoginконтекстного меню контейнераSecurityLogins(Безпека Логін) уObjectExplorerу SQL Server Management Studio ;

q зі скрипта - за допомогою команди CREATE LOGIN . Захищена процедура sp_ addlogin , яка використовувалася для цієї мети в попередніх версіях SQL Server , залишена тільки для забезпечення зворотної сумісності і не рекомендується використовувати.

Наприклад, команда створення логіну SQL Server з ім'ям User1 і паролем P@ssw0rd (для всіх інших параметрів будуть прийняті значення за замовчуванням) може виглядати так:

CREATE LOGIN User1 WITH PASSWORD = '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;
  • вменюКонсольвибрати командуДодати або видалити оснастку;
  • у вікні, натиснути кнопкуДодати;
  • у списку оснасток вибратиРедактор об'єктів групової політики;
  • на екраніВибір об'єкта групової політикивибратиЛокальний комп'ютер.

3. Розкрити вузолПолітика "Локальний комп'ютер" Конфігурація комп'ютера КонфігураціяWindows Параметри безпеки Політики облікових записів Політика пароліві подивитися, що чекає на користувачів SQL Server .

Якщо комп'ютер, на якому встановлений SQL Server 2005, не входить до домену, то до логін SQL Server 2005 за промовчанням будуть застосовуватись вимоги, що представлені на рис. 5.1.

логінів

Мал. 5.1.Вимоги до паролів, які застосовуються за умовчанням для логінів SQL Server 2005

Якщо комп'ютер знаходиться в домені, все залежить від адміністратора домену.

Зверніть увагу, що при встановленому прапорціEnforcepasswordhistory(Використовувати парольну політику) на логін поширюються не лише вимоги до паролів, а й політики блокування облікових записів, прийняті на цьому комп'ютері. Вони налаштовуються з консолі за допомогою контейнераПолітика блокування облікового запису. Ті параметри, які можна налаштувати, та їх значення за промовчанням представлені на рис. 5.2.

server

Мал. 5.2.Параметри блокування паролів для логінів SQL Server 2005 за промовчанням

Enforcepasswordexpiration(Включити старіння пароля) — цей параметр визначає, чи будуть на логін SQL Server поширюватися ті ж вимоги щодо зміни пароля через певний проміжок часу, що та для облікових записів Windows. Цей прапорець можна встановити лише за встановленогопрапорецьEnforce password history.

Usermustchangepasswordatnextlogon(4 Користувач повинен змінити пароль при наступному вході) - з цим прапорцем потрібно бути виключно обережним. Вікно для зміни пароля з'являється лише в SQL Server Management Studio. Більшість інших програм під час спроби підключитися від імені користувача просто повернуть помилку. Працювати цей прапорець буде тільки якщо можливість зміни пароля передбачив розробник клієнтського додатка, що буває далеко не завжди.

Defaultdatabase(База даних за замовчуванням) — база даних, до якої за замовчуванням підключатиметься користувач при вході на SQL Server . За промовчанням використовується база даних m aster . Зазвичай змінювати цей параметр не слід: код для переходу до потрібної бази даних при підключенні забезпечує клієнтську програму.

Defaultlanguage(Мова за замовчуванням) — мова, яка буде використовуватися за промовчанням користувачем під час сеансів. В основному він впливає на формат дати та часу, які повертає SQL Server. Найчастіше цього параметра залишається значення за промовчанням (т. е. мову, налаштований лише на рівні сервера), якщо інше значення спеціально не вимагає розробник.

На вкладціStatus(Стан) властивостей логіну можна налаштувати для цього логіну додаткові параметри:

qPermissionstoconnecttodatabaseengine(Дозвол на підключення до ядра баз даних) - за замовчуванням для всіх логінів встановлюється значення Grant, тобто підключатися до SQL Server дозволено. Значення Deny , як правило, використовується тільки в одному випадку - коли ви надаєте доступ до SQL Server 2005 логінудля групи Windows , а одному або декільком членам цієї групи доступу потрібно заборонити. Оскільки явна заборона завжди має пріоритет перед дозволом, достатньо буде створити свої власні логіни Windows для цих користувачів і встановити для них значення Deny .

qLoginenabled /disabled(Логін увімкнено/відключено) — звичайно, всі логіни за замовчуванням включені. Зазвичай відключати їх доводиться лише у ситуації, коли якийсь користувач звільняється чи переходить іншу роботу. Щоб заощадити час, досить легко вимкнути цей логін, а при появі користувача з подібними робочими обов'язками перейменувати цей логін, змінити пароль і включити. Займатися наданням дозволів наново в цьому випадку не доведеться.

qLoginislockedout(Логін заблокований) - встановити цей прапорець ви не можете (лише зняти його). Обліковий запис користувача блокується автоматично після кількох спроб неправильного введення пароля для логіну SQL Server, якщо таке блокування налаштовано на рівні операційної системи, а для логіна встановлено прапорецьEnforcepasswordpolicy.

qHASHED— вказує, що ви передаєте не пароль, яке хешоване значення. Цю властивість варто використовувати лише в тому випадку, якщо ви створюєте свою систему безпеки для програми.

qCREDENTIAL— призначає логіну об'єктCredential(який є набір "ім'я облікового запису Windows /пароль"). Об'єкт Credential зазвичай використовується в ситуаціях, коли користувач із коду Transact - SQL повинен виконати якісь дії в операційній системі або іншому сервері SQL Server . Ці дії він зможе виконати від імені облікового запису, визначеного за допомогоюоб'єкту Credential . Сам об'єкт можна створити з контейнераCredentialsу SQL Server Management Studio або за допомогою команди CREATE CREDENTIAL .

qSID— дозволяє явно призначити логіну глобально-унікальний ідентифікатор безпеки (якщо його не вказати, він буде згенерований автоматично). Виглядати він може, наприклад, так: 0xD3B670F1A11E6C41B8F965EA3C2E189E . Переглянути його для існуючого користувача можна за допомогою функції SUSER_SID. Налаштовувати його варто лише в тому випадку, якщо він використовуватиметься в таблицях баз даних або для додаткових перевірок.

Параметри, які є на інших вкладках властивостей логіну (ServerRoles,UserMapping,Securables), будуть розглянуті у наступних розділах даного модуля.