it-swarm.dev

Jak przypisać cały dostęp do bezpieczeństwa grupy Active Directory w SQL Server 2008?

Chciałbym zastosować zintegrowane zabezpieczenia z moją wewnętrzną aplikacją, która jest w domenie. Niestety, nigdy nie byłem w stanie sprawić, żeby działał dobrze. Chciałbym przypisać całej grupie Exchange (Active Directory) rolę w SQL Server dla dostępu do odczytu/zapisu do niektórych tabel. W ten sposób nie musiałbym tworzyć operatora za każdym razem, gdy ktoś jest zatrudniony, ani usuwać operatora za każdym razem, gdy ktoś jest zwalniany. czy to możliwe? Jakie kroki bym to zrobił?

40
  • Ustaw grupę AD jako login. „Logowanie” oznacza logowanie na poziomie serwera, a nie koncepcję AD użytkownika/logowania. W SQL Server Speak jest to jednostka główna na poziomie serwera
  • Utwórz zmapowanego użytkownika w. Tak naprawdę nie powinieneś zezwalać użytkownikowi bezpośrednio na tabele. A „użytkownik” oznacza użytkownika bazy danych, a nie AD użytkownika: w SQL Server mówimy, że jest to „główny poziom bazy danych”
  • Dodaj użytkownika do roli (także „główny poziom bazy danych”)
  • PRZYZNAJ uprawnienia do ról w tabelach (tabela lub proc itp. To „bezpieczny”)

Przykładowy skrypt

USE master;
GO
CREATE LOGIN [MYDOMAIN\APPLICATION SUPPORT] FROM WINDOWS;
GO
USE mydb;
GO
CREATE USER [MYDOMAIN\APPLICATION SUPPORT] FROM LOGIN [MYDOMAIN\APPLICATION SUPPORT];
GO
CREATE ROLE rSupport;
GO
EXEC sp_addrolemember 'rSupport', 'MYDOMAIN\APPLICATION SUPPORT';
GO
GRANT SELECT, INSERT,UPDATE, etc ON Mytable TO rSupport;
GO

sp_addrolemember jest przestarzałe, począwszy od SQL Server 2012, gdzie ALTER ROLE należy zamiast tego użyć.

50
gbn

Od marc_s odpowiadanie „Jak dodać grupę użytkowników Active Directory jako login w SQL Server” :

W SQL Server Management Studio przejdź do Object Explorer > (your server) > Security > Logins i kliknij prawym przyciskiem myszy New Login:

enter image description here

Następnie w wyskakującym oknie dialogowym wybierz typy obiektów, które chcesz zobaczyć (Groups jest domyślnie wyłączone - zaznacz to!) I wybierz lokalizację, w której chcesz szukać swoich obiektów (np. Użyj Entire Directory), a następnie znajdź swoją grupę AD.

enter image description here

Masz teraz regularne logowanie do SQL Server - tak jak podczas tworzenia jednego użytkownika AD. Daj temu nowemu loginowi uprawnienia do baz danych, których potrzebuje, i gotowe!

Każdy członek tej grupy AD może teraz zalogować się do SQL Server i korzystać z bazy danych.

5
Even Mien

Przyznanie uprawnień w programie SQL Server grupie AD jest stosunkowo proste. Można to zrobić za pomocą T-SQL lub Management Studio.

Na przykład, jeśli masz grupę AD o nazwie MYDOMAIN\APPLICATION SUPPORT, utworzysz login na poziomie serwera, a następnie użyjesz mapowania do poszczególnych baz danych, aby dać nieco bardziej szczegółowe uprawnienia, takie jak czytnik danych.

W idealnym przypadku dostęp do aplikacji powinien odbywać się za pośrednictwem procedur przechowywanych *, dlatego wymagane są tylko uprawnienia do wykonywania tych procedur przechowywanych w tej bazie danych.

* Z punktu widzenia bezpieczeństwa, aby pozwolić konkretnemu użytkownikowi zobaczyć określone dane, możesz utworzyć procedurę i udzielić użytkownikowi wykonać pozwolenie na tę procedurę i nic więcej. Zezwolenie użytkownikowi na bezpośrednie zapytanie oznaczałoby udzielenie select uprawnień do wszystkich zaangażowanych tabel. Łatwiej jest także pracować z procedurami i łatwiej debugować.

Procedury składowane odsuwają dostęp do tabeli i ograniczają dostęp. W przypadku typów DBA jest to jak „pokaż mi wszystkie zmienne instancji: nie chcę używać metod, metod pobierających ani ustawiających”.

4
Peter Schofield

Jeśli użytkownik jest członkiem DOMAIN\SecurityGroup, który ma uprawnienia Sysadmin w SQL, to zostanie on użyty podczas uzyskiwania dostępu do baz danych. W przeciwnym razie musisz sprawdzić, jakie uprawnienia DOMAIN\SecurityGroup (s) uzyskały w każdej bazie danych. Jeśli użytkownik jest członkiem 2 grup zabezpieczeń, przy czym SecGroupA ma uprawnienia do wyboru, a SecGroupB ma uprawnienia do wstawiania, wówczas użytkownik może wybrać i wstawić.

1
Piyush Agrawal