Loginy MSSQL 2012 Server cz.8

Print Friendly, PDF & Email

Tak jak w każdym programie, tak samo w MS SQL istnieją loginy, które poświadczają tożsamość osób, które próbują się zalogować do instancji.

SQL Server 2012 obsługuje 4 tryby uwierzytelniania instancji:

1) Uwierzytelnianie poprzez login z systemu Windows,
2) Uwierzytelnianie poprzez login MS SQL,
3) Certyfikaty,
4) Klucz asymetryczny

1) Login Windows:

Uwierzytelnianie wykonywane jest jest przy pomocy lokalnego lub domenowego konta.

Uruchamiamy  SQL Server Managment Studio, łączymy się z interesującą nas instancją.
Przechodzimy do węzła Security->klikamy prawym na Security->wybieramy New Login

W oknie tworzenia Loginu, klikamy na Search, następnie wpisujemy lub wybieramy login lokalny lub domenowy.

W ten sposób poprzez wyklikanie mamy stworzony login, dzięki któremu możemy zalogować się do instancji, wykorzystując hasło, którym logujemy się na serwer.

Jeżeli ktoś woli T-SQL poniższe polecenia stworzą nam loginy:

Jeżeli chcemy stworzyć konto na podstawie lokalnego użytkownika:

CREATE LOGIN „lokalny_komputerlogin” FROM WINDOWS;
CREATE LOGIN „SQL-Ageekadmin” FROM WINDOWS;


Jeżeli chcemy stworzyć konto na podstawie lokalnej grupy:
CREATE LOGIN „lokalny_komputerlokalna_grupa” FROM WINDOWS;
CREATE LOGIN „SQL-Agrupa_geekadmin” FROM WINDOWS;

Jeżeli chcemy utworzyć konto na podstawie konta domenowego  lub grupy domenowej:

CREATE LOGIN „komputer_domenowylogin” FROM WINDOWS;
CREATE LOGIN „Domaingeekadmin” FROM WINDOWS;

CREATE LOGIN „komputer_domenowygrupa” FROM WINDOWS;
CREATE LOGIN „Domaingrupa_geekadmin” FROM WINDOWS;
 


2) Login w MS SQL:

W odróżnieniu od uwierzytelniania poprzez login windows, hasła dla konta uwierzytelnionego poprzez instancję są w niej zapisywane.
Poniżej kroki potrzebne do utworzenia loginu w bazie.


Konto możemy również utworzyć przy pomocy T-SQL:

CREATE LOGIN geekadmin  WITH PASSWORD=’Password’;

Możemy dodać:
CHECK_EXPIRATION-ustawia po jakim czasie hasło wygaśnie,
CHECK_POLICY-sprawdza złożoność haseł,
MUST_CHANGE-sprawdza czy użytkownik musi zmienić hasło przy następnym logowaniu

CREATE LOGIN geekadmin  WITH PASSWORD=’Password’, MUST_CHANGE,
DEFAULT_DATABASE=nazwa_instancji,
CHECK_EXPIRATION=ON,
CHECK_POLICY=ON



3) Certyfikaty:

Logowanie za pomocą certyfikatów możemy wdrożyć jeżeli serwer posiada klucz główny.
Poniższe polecenie tworzy taki certyfikat dla użytkownika geekadmin, który będzie wązny do 01.01.2016.

CREATE CERTIFICATE  geekadmin
WITH SUBJECT = 'GeekAdmin certyfikate in master database’,
EXPIRY_DATE=’01/01/2016′

4) Klucz niesymetryczny:

Klucze asymetryczne składają się zarówno z klucza prywatnego jak i publicznego, przy jego tworzeniu musimy podać hasło. W naszym przykładzie użyjemy algorytmu RSA_2048.

Na początek utworzymy klucz asymetryczny dla geekadmin:

CREATE ASYMMETRIC KEY geekadmin WITH ALGORITHM = RSA_2048;

Następnie utworzymy użytkownika z dostępem do bazy poprzez klucz asymetryczny:

 CREATE LOGIN geekadmin FROM ASYMMETRIC KEY geekadmin;





5) Zarządzanie loginami:

Każdy utworzony login możemy wyłączyć lub włączyć.

ALTER LOGIN geekadmin DISABLE;
ALTER LOGIN geekadmin ENABLE;

Listę wszystkich utworzonych loginów możemy zobaczyć przechodząc w SQL Server Managment Studio do węzła SecurityLogins.
Wydając polecenie sys.server_principals otrzymamy w odpowiedzi informację o:
-dacie założenia loginu,
-dacie modyfikacji loginu,
-informację czy login jest włącozny,
-jakiego typu jest loginem(SQL_LOGIN,SERVER_ROLE,WINDOWS_LOGIN,
CERTIFICATE_MAPPED_LOGIN)

Przy pomocy widoku sys.sql_logins zobaczymy loginy,które utworzone są jako uwierzytelniane przez instancję bazy.

Jeżeli chcemy usunąć jakiś login wydajemy polecenie:

DROP LOGIN geekadmin;

Jeżeli chcemy odmówić możliwości logowania się do instancji bazy danych wydajemy poniższe polecenie:

USE [ master ]
GO
DENY CONNECT SQL „nazwadomenygeekadmin”;
GO 



Print Friendly, PDF & Email

Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT