Как предоставить доступ для пользователя SQL Server?

[Прежде всего, предвзятость Unix/Linux, я не работаю над системами Windows :-)]

Что-либо, что, когда-то измененный, изменяет состояние рабочей системы, должно быть прослежено. Конфигурация должна быть сохранена в репозитории, который поддерживает полную историю изменений, например, Мерзавец или Подверсия, и она должна быть развернута автоматизированным способом такой как с Шеф-поваром Opscode или Марионеткой Возвращающего Labs.

Несколько примеров объектов, которые изменяют состояние системы:

  • Установленный пакет / версии патча.
  • Развертываемые приложения, библиотеки приложения.
  • Административные пользователи и пользователи приложения.
  • Аппаратная конфигурация и драйверы/модули устройства.
  • Задания планового обслуживания (крон на Unix/Linux).
  • Сервисы и компоненты, которые контролируются внешними инструментами.

Такое отслеживание должно быть сделано с автоматизированными инструментами, которые обеспечивают достаточный вход для аудита изменений. История репозитория программного обеспечения покажет, мм, историю изменений в конфигурационных файлах, сохраненных в упомянутом репозитории. В декларативном инструменте конфигурирования как Шеф-повар или Марионетка, каждый файл конфигурации представляет ряд ресурсов, таких как пользователи, пакеты или сервисы, и история репозитория укажет на изменения в них.

2
задан 23 May 2017 в 15:41
3 ответа

SQL Server "пользователи" имеет две части им.

  1. Вход в систему сервера. Определенный как уровень сервера и возможно связанный с ролями сервера (например, dbcreator: "Члены dbcreator фиксированной роли сервера могут создать, изменить, отбросить и восстановить любую базу данных"). Отобразите пользователей Windows на роли сервера (часть этого сделана автоматически, но зависит от версии SQL Server1),

  2. Пользователи базы данных. Они создаются базой данных, учитывая роли базы данных (например, "dbo" для полного контроля ("владелец базы данных") или "dbreader", чтобы смочь считать данные). Когда создают, они связаны с входом в систему сервера.

Можно определить роли сервера и роли базы данных для предоставления определенных полномочий).

Посмотрите SQL Server Books Online (или на MSDN) для получения дополнительной информации.

Таким образом, Вы должны, с помощью учетной записи администратора, создать вход в систему сервера для учетной записи пользователя Windows и предоставить ему доступ к базам данных, необходимо работать с. Если Вы определяете вещи (таблицы, представления, сохранил procs...), Вам действительно нужна "dbo" роль или некоторая работа для более прекрасного гранулярного управления.

Не забудьте тестировать приложение только с доступом, в котором приложение нужно (например, это - редкое приложение, которое создало бы/отбросило бы/изменило бы представления или таблицы).


1 В SQL Server 2005 группа локальных администраторов хост-машины отображается на входе в систему с ролью сервера "системного администратора", в 2008 Вы указываете, какие учетные записи должны быть так отображены в установке).

2
ответ дан 3 December 2019 в 11:19
  • 1
    Привет Richard, спасибо за то, что заняли время! Я сделал просто, что кроме я включил Смешанной аутентификации Режима и желанию использовать sqlserver пользователя для доступа. Я имею , устанавливают вход в систему и пользователя также, но по некоторым причинам я могу все еще только войти в сервер с входом в систему администратора. Существует ли место, я должен искать вход, который мог показать, на каком основании я запрещен доступа? Или сервис, который необходим для sql пользователей, но не пользователей домена? –  Anders Juul 7 September 2009 в 13:20
  • 2
    Я нашел следующее в журнале windows\application: библиотека SQL Network Interface не могла зарегистрировать Сервисное имя принципала (SPN) для сервиса SQL Server. Ошибка: 0x54b, состояние: 3. Отказ зарегистрировать SPN может заставить интегрированную аутентификацию отступать к NTLM вместо Kerberos. Это - информационное сообщение. Дальнейшие действия только требуются, если аутентификация Kerberos требуется политикой аутентификации. –  Anders Juul 7 September 2009 в 13:20
  • 3
    Я получаю событие ниже в журнале безопасности. Это могло быть похожим на it' s попытка моей рабочей станции входят в систему а не user/pw, который я предоставляю при попытке? Учетной записи не удалось войти в систему.Тема: Идентификатор безопасности: ПУСТОЕ Имя учетной записи SID: - Account Domain: - идентификатор входа в систему: Тип Входа в систему 0x0: 3 Счета, Который Неудавшийся Вход в систему: Идентификатор безопасности: ПУСТОЕ Имя учетной записи SID: Anders Account Domain: Информация об отказах pc2009b: Причина Отказа: имя Неизвестного пользователя или неверный пароль. Состояние: Подстатус 0xc000006d: информация о Процессе 0xc0000064: идентификатор Процесса Вызывающей стороны: Имя Процесса Вызывающей стороны 0x0: - –  Anders Juul 7 September 2009 в 13:55

Чтобы смочь быть замеченными в сети (соединяются удаленно), необходимо будет проверить, что экземпляр SQL Server имеет сетевую библиотеку как TCP/IP, настроенный для нее. Можно настроить этот Менеджер конфигурации SQL Server использования. Если необходимо было внести изменение, оно не вступит в силу, пока Вы не перезапустите SQL Server. Теперь, если это будет именованный экземпляр, то Вы также захотите удостовериться, что услуга Браузера SQL Server работает. Это предоставляет порт TCP клиенту, пытающемуся найти его относительно именованного экземпляра. И необходимо будет удостовериться, что существуют исключения на брандмауэре для обоих сервисов.

Относительно Вашего входа в систему SQL Server, при попытке войти в Studio управления SQL Server использования, если Вы получаете ошибку при указании, что это не доверительное соединение / учетная запись, Вы - SQL Server, настроен для использования Windows только аутентификация, что означает, что Вы не можете соединить использование основанного на SQL Server входа в систему. В Вашем случае Вы указали на установку его для Смешанного Режима который является тем, что Вы хотите. Если, однако, Вы не перезапускали SQL Server после внесения изменения, которое могло бы быть проблемой. Снова, это - другой тех настроек, только выполненных при запуске.

Ошибка Kerberos можно игнорировать. Это - потому что только администратор домена или сама учетная запись компьютера (если Вы работаете как Сервис Nework на Windows 2003) могут зарегистрировать SPN. Таким образом, при использовании чего-либо еще та ошибка обнаруживается. В этом случае лучше создавать SPN вручную, но это не должно входить в здесь, потому что это только собирается для аутентификации Windows. Kerberos не оказывает влияния на основанные на SQL Server логины.

Теперь относительно пользователя SQL Server, могут Вы для соединения с SQL Server с ним локально использующий Studio управления SQL Server?

1
ответ дан 3 December 2019 в 11:19

Извинения в порядке - проблема решена теперь:

Я переустановил весь сервер и добавил SQL-сервер как первую вещь - у меня было подозрение, что VisualSVN, работающий через SSL, играл опустошение с безопасным соединением, также необходимым входу в систему sqlserver.

На самом деле проблема была все еще там, но попробовавший еще раз отключать брандмауэр на самом деле решил непосредственную проблему.

Я перфорировал дыру в брандмауэр для 1433/TCP, и вещи состоят в том, где я хочу их.

Спасибо за внимание, хотя...

0
ответ дан 3 December 2019 в 11:19

Теги

Похожие вопросы