Автор Тема: Вопрос монстрам MSSQL  (Прочитано 9042 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Andy

  • Администратор Форумa
  • Эксперт
  • *
  • Сообщений: 1803
  • Карма: 15
  • Пол: Мужской
  • Нельзя отремонтировать то, что не сломано...
    • minilabmaster
    • Просмотр профиля
    • Форум "Минилаб-Мастер"
Вопрос монстрам MSSQL
« : 20 Июня 2014, 13:49:18 »
Вопрос монстрам MSSQL. По безопастности. Как осуществляется безопастность базы внутри предприятия, допустим? Есть приложение, которое активно с ней работает. Есть авторизация в базе ну, допустим по актив дириктори, при входе в домен. У меня на компе права админа. Значит ли что я, поставив Management Studio могу делать с базой все что угодно, или хотя бы могу ее слить? Немного погуглив узнал, что ограничить  доступ к данным таблицам у MSSQL очень большой геморрой.

Спасибо.
Заклинило деталь - надави на нее, если она сломалась - ничего, ее все равно надо было менять.

eriser

  • Модератор Раздела
  • Профи
  • *
  • Сообщений: 202
  • Карма: 1
  • Пол: Мужской
  • Да чтоб вы все были здоровы...
    • Просмотр профиля
Re: Вопрос монстрам MSSQL
« Ответ #1 : 20 Июня 2014, 14:21:08 »
С MSSQL не занимался. В MYSQL с помощью, допустим PHPMYADMIN создаётся пользователь с доступом только к нужным таблицам и ограничением действий (записать,удалить...). Может есть какой менеджер для MS где это будет проще сделать.
Не все йогурты одинаково полезны!

Andy

  • Администратор Форумa
  • Эксперт
  • *
  • Сообщений: 1803
  • Карма: 15
  • Пол: Мужской
  • Нельзя отремонтировать то, что не сломано...
    • minilabmaster
    • Просмотр профиля
    • Форум "Минилаб-Мастер"
Re: Вопрос монстрам MSSQL
« Ответ #2 : 20 Июня 2014, 14:28:15 »
Да, в MYSQL логично предположить, что миллионы сайтов работают на вирутальном хостинге, и база там на текущем компе виртуального хостига одна, а на ней крутятся несколько сайтов и таблица маскируется под полноценную базу для текущего хостинга. А как именно в MSSQL дела обстоят?
Заклинило деталь - надави на нее, если она сломалась - ничего, ее все равно надо было менять.

eriser

  • Модератор Раздела
  • Профи
  • *
  • Сообщений: 202
  • Карма: 1
  • Пол: Мужской
  • Да чтоб вы все были здоровы...
    • Просмотр профиля
Re: Вопрос монстрам MSSQL
« Ответ #3 : 22 Июня 2014, 10:25:09 »
Не совсем понял суть проблемы. Принцип работы попробую рассказать как я понимаю.
« Последнее редактирование: 08 Марта 2015, 18:24:30 от Andy »
Не все йогурты одинаково полезны!

eriser

  • Модератор Раздела
  • Профи
  • *
  • Сообщений: 202
  • Карма: 1
  • Пол: Мужской
  • Да чтоб вы все были здоровы...
    • Просмотр профиля
Re: Вопрос монстрам MSSQL
« Ответ #4 : 22 Июня 2014, 10:41:01 »
Все запросы, вопросы безопасности, доступ, резервное копирование - задача SQL сервера. То есть доступ приложений, сайтов к базам должен даваться только через SQL сервер и только с разрешенным списком пользователей к каждой базе и списком разрешенных действий для каждого пользователя. Тут действуют только права админа и пользователей SQL. Права админа компа выше - ты можешь тупо удалить файл базы, и до свидания....
« Последнее редактирование: 08 Марта 2015, 18:23:53 от Andy »
Не все йогурты одинаково полезны!

Форум проекта "Минилаб-Мастер"

Re: Вопрос монстрам MSSQL
« Ответ #4 : 22 Июня 2014, 10:41:01 »

eriser

  • Модератор Раздела
  • Профи
  • *
  • Сообщений: 202
  • Карма: 1
  • Пол: Мужской
  • Да чтоб вы все были здоровы...
    • Просмотр профиля
Re: Вопрос монстрам MSSQL
« Ответ #5 : 22 Июня 2014, 10:47:50 »
На мой взгляд отличий особых от MYSQL нет. 

Как дать права на доступ к базе определенному логину

Для SQL — дополнительный SQL логин, но настраивать права нужно самому: Заводим ещё один SQL логин — uXXX_Ann

Для начала используем нашу базу:

USE [uXXXX]
GO
Создаём пользователя для определённого «логина»:

CREATE USER [InetUser] FOR LOGIN [uXXX_Ann]
GO
Наделяем его правами (например только чтение таблиц):

EXEC sp_addrolemember N\'db_datareader\', N\'InetUser\'
GO
Или можем дать пользователю только конкретные права, на конкретные таблицы. Например, давайте дадим пользователю InetUser права на SELECT, INSERT, UPDATE для таблицы test, следующим SQL-запросом:

USE [uXXXXXX]
GO
GRANT SELECT ON [dbo].[test] TO [InetUser]
GO
GRANT INSERT ON [dbo].[test] TO [InetUser]
GO
GRANT UPDATE ON [dbo].[test] TO [InetUser]
GO
При всем при этом, при осуществлении доступа через SQL Management Studio, под дополнительным логином не являющимся владельцем базы, не будет видно базу данных в списке доступных баз, но будет возможность выполнять разрешенные SQL-запросы.

По skype расскажу что знаю... eriser
« Последнее редактирование: 22 Июня 2014, 13:01:57 от eriser »
Не все йогурты одинаково полезны!

Andy

  • Администратор Форумa
  • Эксперт
  • *
  • Сообщений: 1803
  • Карма: 15
  • Пол: Мужской
  • Нельзя отремонтировать то, что не сломано...
    • minilabmaster
    • Просмотр профиля
    • Форум "Минилаб-Мастер"
Re: Вопрос монстрам MSSQL
« Ответ #6 : 25 Июня 2014, 18:47:49 »
Ок. Зайду с другой стороны. Я в базах данных полный ноль. Итак, есть внутре компании древняя foxpro. На ней крутится ну допустим заказы на обслуживание клиентов. То есть есть разездные мастера, у клиентов косяк, звонят нам, мы предварительно разбираемся в чем дело, вбиваем в базу суть проблемы, жемем кнопочку отправить мастеру суть проблемы. Бездушная машина отправляет мастеру sms, он в дороге включает ноутбук, загуржает фокс про и смотрит, что, ему, собственно надо делать. Фигня же?

Моя идея такова - делаем приложене под андроид, оно мониторит либо sms, либо раз, ну допустим в 5 минут коннектится с базой и смотрит, не упало ли новое задание. Если по sms - то ищет во входящих sms  ключевое слово, если да, то коннектится с базой и сливает задание из нужного поля таблицы. Если без sms - то раз в пять минут сканирует нужные поля в базе на наличие новых заданий. Если задание получено, то мастер читает его, жмет большую кнопку, что мол, поринял и едет на задание.

Черновой вариант приложения мною уже написан, просто моя попоболь думает - а как там с безопастностью? Та старушка фокспро работает под MSSQL 2012, и даже не знает об этом, клиент, от фокспро стоит в конторе на каждом писюке, и дальше мой поток сознания:

Авторизация для фокспро идет по входе в домен по актив директори, у меня права админа. То есть я, если захочу, поствлю Management Studio и могу слить то, что мне показывает фокс про?

Я наоборот, хочу увеличить безопастность всей системы - доступ с андроида будет через впн, но он и сейчас через впн для ноутов. Но фича в том, что если лезешь через ноут, то есть с винды, у тебя авторизация через актив директори, смысл в том, что базу окрыть через TCP/IP и сделать это БЕЗОПАСТНО, ибо андроид нативно актив директори, разумеется не поддерживает.

У меня есть мысли, интересно ваше мнение.

P.S

А насчет доступа к таблицам к MSSQL - попа. Гуглил, да, вот например - http://www.cyberforum.ru/sql-server/thread993384.html Беседовал со своим другом - админ налоговой инспекции с 20-ти летним стажем - он об этом тоже ничего не знает. Мне страшно.
« Последнее редактирование: 25 Июня 2014, 18:55:14 от admin »
Заклинило деталь - надави на нее, если она сломалась - ничего, ее все равно надо было менять.

Andy

  • Администратор Форумa
  • Эксперт
  • *
  • Сообщений: 1803
  • Карма: 15
  • Пол: Мужской
  • Нельзя отремонтировать то, что не сломано...
    • minilabmaster
    • Просмотр профиля
    • Форум "Минилаб-Мастер"
Re: Вопрос монстрам MSSQL
« Ответ #7 : 08 Марта 2015, 18:18:57 »
Если продолжить разговор, то уважающий себя хостер, например, где хостится этот форум, никогда не даст доступ к MySql напрямую, только через туннель SSH, да и только с сгенерёным приватным ключом. К майкрософтовской же базе обычно есть доступ только через VPN, если админ себя уважает. Так что пока поставил у себя JDeveloper и изучаю этот вопрос.
Заклинило деталь - надави на нее, если она сломалась - ничего, ее все равно надо было менять.

PhotoKonica

  • Эксперт
  • *****
  • Сообщений: 786
  • Карма: 15
  • Это ОН ;-)
    • Просмотр профиля
Re: Вопрос монстрам MSSQL
« Ответ #8 : 23 Мая 2015, 09:41:45 »
Проще и безопаснее сделать сайт, с логином и паролем для каждого ремонтника, куда и сыпятся ему заказы. Не надо париться с последующими апдейтами проги, ибо это сайт. Нет зависимости от девайса, ибо это сайт. А прямой доступ к базе - защита от ежа голым задом, махание красной тряпкой у быка под носом.

Или делать на PHP.
Послал запрос по HTTP на сервак. А страничка на php прошерстила базу и выдала тебе обратно текст с заказом. Запросы и ответы по http с логинами и паролями, с SSL конечно. Обращение к базе будет локально с сервера, что безопасно.

А ещё проще уведомление на EMAIL :)

Andy

  • Администратор Форумa
  • Эксперт
  • *
  • Сообщений: 1803
  • Карма: 15
  • Пол: Мужской
  • Нельзя отремонтировать то, что не сломано...
    • minilabmaster
    • Просмотр профиля
    • Форум "Минилаб-Мастер"
Re: Вопрос монстрам MSSQL
« Ответ #9 : 24 Мая 2015, 16:46:54 »
Ну да, это стандартная процецура в юниксе. Но база и сайт, наверное, на винде работают. Честно говоря неохота PHP учить, с конвертацией форума намучился, очень дерьмовый язык.
Заклинило деталь - надави на нее, если она сломалась - ничего, ее все равно надо было менять.

Форум проекта "Минилаб-Мастер"

Re: Вопрос монстрам MSSQL
« Ответ #9 : 24 Мая 2015, 16:46:54 »