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, gdy ktoś jest zatrudniony, ani usuwać operatora, gdy ktoś jest zwolniony. czy to możliwe? Jakie kroki bym to zrobił?
sql-server
sql-server-2008
security
role
active-directory
Michael Hedgpeth
źródło
źródło
Udzielanie 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 wszystkich 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 konkretny użytkownik mógł zobaczyć określone dane, możesz utworzyć procedurę i udzielić użytkownikowi uprawnienia do wykonania tej procedury i nic więcej. Zezwolenie użytkownikowi na bezpośrednie wysyłanie zapytań oznaczałoby przyznanie uprawnień do wyboru wszystkim tabelom. Łatwiej jest również pracować z procedurami i łatwiej debugować.
Procedury składowane abstrahują od dostępu do tabeli i ograniczają dostęp. W przypadku typów DBA jest to jak „pokaż mi wszystkie zmienne instancji: nie chcę używać metod, pobierających ani ustawiających”.
źródło
Od marc_s odpowiadającego „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 myszyNew Login
:Następnie w wyskakującym oknie dialogowym wybierz typy obiektów, które chcesz zobaczyć (
Groups
domyślnie jest wyłączone - zaznacz!) I wybierz lokalizację, w której chcesz szukać swoich obiektów (np. UżyjEntire Directory
), a następnie znajdź grupę AD .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.
źródło
Jeśli użytkownik jest członkiem DOMAIN \ SecurityGroup, który ma uprawnienie Sysadmin w języku SQL, 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ć.
źródło