Управление пользователями SQL Server через группы Active Directory

Управление пользователями SQL Server через группы Active Directory

Я создаю экземпляр SQL Server для целей отчетности. Я планирую использовать группы AD для входа на сервер и в базу данных. У меня есть несколько групп с разными ролями (администратор, разработчик, пользователь и т. д.), и я хотел бы сопоставить эти роли с ролями базы данных SQL Server (db_owner, db_datawriter и т. д.). Каковы плюсы и минусы использования групп AD для входа? Какие проблемы вы заметили?

решение1

Помимо накладных расходов на управление AD в первую очередь, я не думаю, что есть какие-либо недостатки. Использование учетных данных входа Windows для SQL Server, особенно в том виде, о котором вы говорите с организованными группами ролей, безусловно, является лучшей практикой рекомендации от Microsoft. Если бы у них была возможность, они бы полностью убрали возможность аутентификации SQL Server.

Приложение:

Если вы используете SQL 2005 или выше, используйте опцию «Схема по умолчанию» (не думаю, что для этого есть опция графического интерфейса), выполнив следующие действия:

ALTER USER userName  
     WITH <set_item> [ ,...n ]

<set_item> ::= 
     NAME = newUserName 
     | DEFAULT_SCHEMA = schemaName
     | LOGIN = loginName

то есть:

ALTER USER DOMAIN\UserName DEFAULT_SCHEMA = dbo;
GO

решение2

Управление группами Active Directory также можно делегировать администраторам, не являющимся администраторами Active Directory, что может быть удобной функцией, если не считать встроенного инструмента управления приложениями.

решение3

Самый большой недостаток, с которым я столкнулся, — это сторонние приложения, которые не поддерживают аутентификацию AD и настаивают на использовании аутентификации SQL, обычно с креативными логинами типа admin/admin; за исключением этого, единственная другая проблема заключается в том, что у вас нет полной видимости на сервере SQL о том, кто имеет доступ к базам данных, вы видите только группу или пользователей, когда они активны, или если они владеют объектами. Но пока ваш администратор баз данных имеет доступ к Active Directory, если ему нужна информация на уровне пользователя, это очень незначительная проблема.

Связанный контент