Безопасность Sql-Сервера

SQL Server имеет несколько уровней безопасности. На базовом уровне, чтобы получить доступ к SQL Server, пользователю необходимо иметь учетную запись для входа.

Существует два режима безопасности SQL Server, отличающиеся тем, какая программа обеспечивает аутентификацию. Аутентификация NT предусматривает, что проверка Windows NT (и/или ее преемников) проверяет личность пользователя, входящего в систему. В этом режиме SQL Server «доверяет», что Windows NT подтвердила, что пользователь является тем, кем он себя называет. Второй метод, аутентификация SQL Server, представляет собой SQL: Сервер, который удостоверяет личность пользователя. Аутентификация SQL Server обычно используется для подключений к Интернету, поскольку не все пользователи Интернета имеют Windows NT, и не все домены NT являются доверенными.

Помимо идентификации пользователей, иногда бывает удобно определить роли на уровне сервера. Поскольку внутри организации существуют группы пользователей со схожими потребностями и уровнями доступа, может быть удобно определить роли с определенными уровнями разрешений. После определения роли вы можете назначить пользователям эту роль, и эти пользователи унаследуют все привилегии, назначенные этой роли.

Существует два типа разрешений, назначаемых отдельным пользователям и ролям. Разрешения на операторы дают право выполнять определенные типы команд T-SQL. Разрешения на доступ к объектам дают право на прямой доступ к объектам базы данных.

Определение пользователей и ролей для входа в систему

Логины можно добавить либо через окно свойств базы данных (в разделе «Имена входа»), либо путем вызова системных хранимых процедур с соответствующими параметрами. Команда

sp_addlogin имя пользователя, пароль, имя базы данных

добавит в список имя входа, аутентифицированное SQL Server;

sp_grantlogin 'имя домена/имя пользователя'

добавит в список вход с аутентификацией NT.

После того, как вход в систему разрешен, вам необходимо разрешить пользователю доступ к базе данных. Это делается либо через окно свойств базы данных (в разделе «Пользователи для этой конкретной базы данных»), либо с помощью команды

sp_grantdbaccess имя пользователя.

Посмотреть список пользователей можно с помощью команды sp_helpuser или sp_helpuser username.

Чтобы отменить учетную запись безопасности для данной базы данных, используйте имя пользователя sp_revokedbaccess.

Чтобы удалить вход в систему NT, используйте sp_revokelogin «имя пользователя» (обратите внимание, что без домена), а чтобы остановить вход в систему с аутентификацией SQL Server, используйте sp_droplogin username.

Чтобы добавить роль в базу данных, используйте sp_addrole «клерикал», а для добавления меня 16 августа 2005 г. — «клерикал», «имя пользователя». Чтобы удалить члена роли, используйте имя пользователя sp_droprolemember.

На уровне SQL Server имена ролей фиксированы и не могут быть изменены, но пользователей можно добавлять с помощью sp_addsrvrolemember имя пользователя, dbcreator . Чтобы удалить члена роли, используйте sp_dropsrvmember имя пользователя.

Предоставление разрешений

Команда GRANT используется для назначения разрешений учетной записи безопасности. Разрешения на утверждение таким образом: GRANT право на имя пользователя.

где право может быть любым из следующих:

СОЗДАТЬ БАЗУ ДАННЫХ

СОЗДАТЬ ПО УМОЛЧАНИЮ

СОЗДАТЬ ПРОЦЕДУРУ

СОЗДАТЬ ПРАВИЛО

СОЗДАТЬ ТАБЛИЦУ

СОЗДАТЬ ПРОСМОТР

СБРОС БАЗЫ ДАННЫХ

ДАМП ТРАНЗАКЦИЯ

Для разрешений объекта также можно использовать команду GRANT, но грамматика немного отличается:

GRANT действие НА имя таблицы/представления/процедуры TO имя пользователя

где действие может быть одним из следующих:

ВСТАВКА, УДАЛЕНИЕ, ВЫПОЛНЕНИЕ, ВЫБОР или ОБНОВЛЕНИЕ

Это разрешение также можно применить к группам или ролям, а также к именам пользователей. Также возможно, что роль может иметь разрешение, но члену этой роли будет отказано в разрешении на выполнение задачи. Смотрите следующее обсуждение.

Во всех приведенных выше командах вы также можете явно отказать в разрешении, используя DENY вместо GRANT. Однако обратите внимание, что DENY не является отрицанием GRANT. DENY явно исключает пользователя из этой возможности. Команда REVOKE используется для удаления как разрешения, так и отказа.

Ресурсы

Статья: Как определить версию и выпуск пакета обновления SQL Server

Это содержательная статья, в которой обсуждается версия и выпуск пакета SQL Server.

Учебное пособие: использование Access или SQL Server для написания кода ASP.

В этом руководстве обсуждается, как можно использовать SQL-сервер для написания кода ASP.

Консультанты по SQL-серверу Метро Нью-Йорка/Нью-Джерси

Мы специализируемся на индивидуальном программном обеспечении баз данных. Позвоните нам для бесплатной консультации (973) 635 0080 или напишите нам по адресу paladn.com.




SQL Server — широко используемая система управления реляционными базами данных, разработанная Microsoft. Крайне важно реализовать надежные меры безопасности для защиты конфиденциальных данных, хранящихся в базах данных SQL Server. В этой статье мы рассмотрим различные уровни безопасности, обеспечиваемые SQL Server, и обсудим методы защиты доступа к серверу, определения имен входа, пользователей и ролей, а также предоставления разрешений.

Доступ к SQL Server контролируется на базовом уровне через учетные записи входа. Прежде чем пользователь сможет получить доступ к SQL Server, ему необходимо иметь учетную запись для входа. В SQL Server существует два режима безопасности: проверка подлинности NT и проверка подлинности SQL Server.

Аутентификация NT использует Windows NT или ее преемники для проверки личности входящего в систему пользователя. При использовании аутентификации NT SQL Server полагает, что Windows NT уже проверила личность пользователя. Этот режим подходит для сред, где у пользователей есть учетные записи Windows NT и домены NT являются доверенными.

С другой стороны, проверка подлинности SQL Server включает в себя сам SQL Server, проверяющий личность пользователя. Этот режим часто используется для подключений к Интернету, поскольку не все пользователи Интернета имеют учетные записи Windows NT и не все домены NT являются доверенными.

Помимо идентификации отдельных пользователей, SQL Server позволяет определять роли на уровне сервера. Роли полезны для группировки пользователей со схожими требованиями к доступу. После определения роли пользователи могут быть назначены на эту роль, наследуя назначенные ей привилегии.

Разрешения в SQL Server делятся на два типа: разрешения операторов и разрешения объектов. Разрешения на операторы предоставляют право выполнять определенные типы команд T-SQL, а разрешения на объекты дают право на прямой доступ к объектам базы данных.

Для добавления имен входа, пользователей и ролей SQL Server предоставляет несколько системных хранимых процедур. Например, хранимая процедура

REVOKE

is used to add a SQL Server authenticated login, while

GRANT

добавляет логин с аутентификацией NT. Аналогично, хранимая процедура

DENY

adds a role to a database. To remove logins, users, or roles, the corresponding

DENY

,

action

,

GRANT action ON table/view/procedure name TO username

,

right

, and

GRANT right TO username

можно использовать хранимые процедуры.

После настройки логинов и пользователей разрешения можно предоставить с помощью

GRANT

command. For statement permissions, the syntax is

sp_dropsrvmember

, где

sp_droprolemember

represents a specific command or operation. For object permissions, the syntax is

sp_droplogin

, где

sp_revokelogin

can be INSERT, DELETE, EXECUTE, SELECT, or UPDATE.

Также можно применять разрешения к группам или ролям, а не к отдельным именам пользователей. Кроме того, в разрешениях можно явно отказать с помощью

sp_revokedbaccess

command. It is important to note that

sp_addrole

это не отрицание

sp_grantlogin

but explicitly excludes the user from a specific capability. To remove permissions, the

sp_addlogin

используется команда.

Безопасность SQL Server имеет решающее значение для защиты конфиденциальных данных от несанкционированного доступа. Рекомендуется поддерживать экземпляр SQL Server и связанное с ним программное обеспечение в актуальном состоянии с использованием последних пакетов обновлений и исправлений для устранения любых уязвимостей безопасности. Регулярные проверки и мониторинг безопасности могут помочь выявить и снизить потенциальные риски.

В заключение отметим, что SQL Server обеспечивает несколько уровней безопасности для защиты данных, хранящихся в его базах данных. Внедряя надлежащую аутентификацию, определяя роли и предоставляя соответствующие разрешения, организации могут гарантировать, что только авторизованные пользователи будут иметь доступ к данным, сохраняя при этом целостность и конфиденциальность своей среды SQL Server.

Ресурсы:

  • Статья: «Как определить версию и выпуск пакета обновления SQL Server»
  • Учебное пособие: «Использование Access или SQL Server для написания кода ASP»
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2011-07-23 05:15:35
Баллов опыта: 552966
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.