Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Пироман
Guest
пришлось временно перейти на SQL SERVER с ОРАКЛЕ. И тут столкнулся с не совсем понятной политикой безопасности в SQL SERVER. В оракле все просто. Пользователь = схема. Каждый объект базы создается в своей схеме, а В SQL SERVERE все прыгает от конкретной базы данных получается.
В оракле пишем: схема.объект
в сиквеле пишут: база.dbo.объект
Коллеги говорят, что оракловая политика менее гибкая чем сиквельная, а по моему наоборот. К сожалению еще до конца не разобрался. Кто может просто объяснить общие принципы политики безопасности сиквела
24 окт 12, 14:12    [13368625]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Может поможет
24 окт 12, 14:14    [13368637]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Glory
Member

Откуда:
Сообщений: 104760
Пироман
В оракле все просто. Пользователь = схема. Каждый объект базы создается в своей схеме, а В SQL SERVERE все прыгает от конкретной базы данных получается.
В оракле пишем: схема.объект
в сиквеле пишут: база.dbo.объект

В SQL SERVERE - то же самое. Просто dbo - это пользователь такой. Встроенный.
24 окт 12, 14:16    [13368653]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3646
Пироман
пришлось временно перейти на SQL SERVER с ОРАКЛЕ. И тут столкнулся с не совсем понятной политикой безопасности в SQL SERVER. В оракле все просто. Пользователь = схема. Каждый объект базы создается в своей схеме, а В SQL SERVERE все прыгает от конкретной базы данных получается.
В оракле пишем: схема.объект
в сиквеле пишут: база.dbo.объект
Коллеги говорят, что оракловая политика менее гибкая чем сиквельная, а по моему наоборот. К сожалению еще до конца не разобрался. Кто может просто объяснить общие принципы политики безопасности сиквела

dbo - это тоже схема.
24 окт 12, 14:20    [13368681]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Пироман
Guest
Glory
Пироман
В оракле все просто. Пользователь = схема. Каждый объект базы создается в своей схеме, а В SQL SERVERE все прыгает от конкретной базы данных получается.
В оракле пишем: схема.объект
в сиквеле пишут: база.dbo.объект

В SQL SERVERE - то же самое. Просто dbo - это пользователь такой. Встроенный.


Вы говорите одно и то же, а тут прочитал из msdn следующее:

В SQL Server 2005 изменился порядок работы схем. Схемы теперь не эквивалентны пользователям базы данных; сейчас каждая схема — отдельное пространство имен, существующее независимо от пользователя базы данных, создавшего ее. Другими словами, схема — это просто контейнер объектов. Схема может принадлежать любому пользователю, и владение может передаваться.
Получается совсем не как в оракле. В оракле схема это пользователь и точка. А здесь это что то облачно-виртуальное
24 окт 12, 14:22    [13368692]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Glory
Member

Откуда:
Сообщений: 104760
Пироман
В SQL Server 2005 изменился порядок работы схем. Схемы теперь не эквивалентны пользователям базы данных; сейчас каждая схема — отдельное пространство имен, существующее независимо от пользователя базы данных, создавшего ее. Другими словами, схема — это просто контейнер объектов. Схема может принадлежать любому пользователю, и владение может передаваться. 
Получается совсем не как в оракле. В оракле схема это пользователь и точка. А здесь это что то облачно-виртуальное

А кто вас заставляет создавать независимые схемы ?
Если вы НЕ создатите таких схем, то их не будет.
24 окт 12, 14:26    [13368724]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Пироман
Guest
в оракле я вхожу под своим именем и все объекты которые я создал принадлежат мне и только мне и я сам распоряжаюсь ими и даю гранты другим. А другие смертные никогда не увидят их без моего разрешения или SYSTEM. А в сиквеле я создаю таблицу и ее все видят кому не лень. Я В ШОКЕ.
24 окт 12, 14:30    [13368753]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Glory
Member

Откуда:
Сообщений: 104760
Пироман
в оракле я вхожу под своим именем и все объекты которые я создал принадлежат мне и только мне и я сам распоряжаюсь ими и даю гранты другим.

И что в MSSQL не так ?
Пироман
А другие смертные никогда не увидят их без моего разрешения или SYSTEM.

И что в MSSQL не так ?

Пироман
А в сиквеле я создаю таблицу и ее все видят кому не лень. Я В ШОКЕ.

Да конечно. А еще все сразу получают права администратора. Я тоже в шоке.
24 окт 12, 14:32    [13368767]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Пироман
в оракле я вхожу под своим именем и все объекты которые я создал принадлежат мне и только мне и я сам распоряжаюсь ими и даю гранты другим. А другие смертные никогда не увидят их без моего разрешения или SYSTEM. А в сиквеле я создаю таблицу и ее все видят кому не лень. Я В ШОКЕ.


Видят, но надо иметь соответствующие права на нужные действия.
И не все, а кому маплена хотя бы роль Public в этой базе.
24 окт 12, 14:33    [13368775]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Пироман
Guest
А если в одной и той же базе работают 3 пользователя и каждый создает свои объекты, то почему они видны всем
В оракле я вхожу (pl/sql deleoper) под собой и вижу только свои объекты, чужие из другой схемы я не вижу, оно мне и не надо, а только те на которые у меня есь гранты. А в сиквеле я вижу в одной базе все (свои и чужие и системные).
Сорри конечно за глупые вопросы, видимо надо читать особенности сиквела, с наскоку здесь не получится освоить
24 окт 12, 14:40    [13368831]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
мимо
Guest
Пироман
в оракле я вхожу под своим именем и все объекты которые я создал принадлежат мне и только мне и я сам распоряжаюсь ими и даю гранты другим. А другие смертные никогда не увидят их без моего разрешения или SYSTEM. А в сиквеле я создаю таблицу и ее все видят кому не лень. Я В ШОКЕ.

Это что. Когда узнаете, что под одним сервером можно заваять несколько баз, а не одну как в оракле, и с ними работать. Юзать виндовую аутентификацию. Запустить на клиенте профелер и смотреть, что там делает сервер... Будет ещё ток шок.
24 окт 12, 14:41    [13368836]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Glory
Member

Откуда:
Сообщений: 104760
Пироман
А если в одной и той же базе работают 3 пользователя и каждый создает свои объекты, то почему они видны всем

Наверное кто-то выдал права на это ?

Пироман
В оракле я вхожу (pl/sql deleoper) под собой и вижу только свои объекты, чужие из другой схемы я не вижу, оно мне и не надо, а только те на которые у меня есь гранты.А в сиквеле я вижу в одной базе все (свои и чужие и системные).

Отображение объектов сервера зависит от приложения, а не от сервера
24 окт 12, 14:42    [13368844]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Пироман
Guest
4391Поставим вопрос по другому. Есть некая база. С ней должны работать 3 группы пользователй.
Сотрудники департамента 1,
Сотрудники департамента 2,
Сотрудники департамента 3
Так вот, они должны видеть (имеется ввиду визуально в дереве объектов) ТОЛЬКО СВОИ СОЗДАННЫЕ объекты (таблицы, процедуры). Гранты на исполнение или просомтр - вроде разобрался, здесь есть аналогия с оракле. Получается, они все создадут свои объекты, а потом сис дба будет всем закрывать доступы на не свои объекты.
24 окт 12, 14:55    [13368927]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Пироман
4391Поставим вопрос по другому. Есть некая база. С ней должны работать 3 группы пользователй.
Сотрудники департамента 1,
Сотрудники департамента 2,
Сотрудники департамента 3
Так вот, они должны видеть (имеется ввиду визуально в дереве объектов) ТОЛЬКО СВОИ СОЗДАННЫЕ объекты (таблицы, процедуры). Гранты на исполнение или просомтр - вроде разобрался, здесь есть аналогия с оракле. Получается, они все создадут свои объекты, а потом сис дба будет всем закрывать доступы на не свои объекты.


Вообще то создавать объекты должны DBA или спецом обученные люди.
Пользователи не должны иметь прав на создание и тп.

Т.е. создается объект а потом "нужные" люди получают права на действия с ним (просмотр, исполнение и тп).
24 окт 12, 14:58    [13368960]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Glory
Member

Откуда:
Сообщений: 104760
Пироман
Так вот, они должны видеть (имеется ввиду визуально в дереве объектов) ТОЛЬКО СВОИ СОЗДАННЫЕ объекты (таблицы, процедуры).

Ну раз должны, то выдайте соответствующие права

Пироман
Получается, они все создадут свои объекты, а потом сис дба будет всем закрывать доступы на не свои объекты.

Получается, что вы не знаете, откуда ваше приложение берет список объектов.
24 окт 12, 14:59    [13368968]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3646
Пироман
4391Поставим вопрос по другому. Есть некая база. С ней должны работать 3 группы пользователй.
Сотрудники департамента 1,
Сотрудники департамента 2,
Сотрудники департамента 3
Так вот, они должны видеть (имеется ввиду визуально в дереве объектов) ТОЛЬКО СВОИ СОЗДАННЫЕ объекты (таблицы, процедуры). Гранты на исполнение или просомтр - вроде разобрался, здесь есть аналогия с оракле. Получается, они все создадут свои объекты, а потом сис дба будет всем закрывать доступы на не свои объекты.

не проблема сделать три схемы и раздать юзерам права соответственно
24 окт 12, 15:42    [13369330]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34657
Пироман
пришлось временно перейти на SQL SERVER с ОРАКЛЕ. И тут столкнулся с не совсем понятной политикой безопасности в SQL SERVER. В оракле все просто. Пользователь = схема. Каждый объект базы создается в своей схеме, а В SQL SERVERE все прыгает от конкретной базы данных получается.
В оракле пишем: схема.объект
в сиквеле пишут: база.dbo.объект
Коллеги говорят, что оракловая политика менее гибкая чем сиквельная, а по моему наоборот. К сожалению еще до конца не разобрался. Кто может просто объяснить общие принципы политики безопасности сиквела


Это вряд ли политика безопасности.

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

На сервере есть логины (способ приконнектиться к серверу, введя пароль или другую аутентификацию)
В каждой БД есть пользователи. Когда человек логинится к серверу (логином) и входит в базу данных (он должен войти
в БД, чтобы её использовать) он становится одним из пользователей этой БД. Для этого есть мапирование логинов на
пользователя в каждой БД.

Каждый объект в БД принадлежит одному пользователю-- хозяину (owner). Он имеет все права на свои объекты, и
может давать права другим пользователям. Обычно объекты -- это таблицы, но есть ещё view, procedures, triggers...

Если пользователь что-то делает с таблицей/view/proc , он должен иметь права на этот объект, или быть его хозяином.
Процедуры обычно выполняются с правами хозяина.

Вот собственно и всё, всё просто, логично и гибко.

(ещё есть некоторые нюансы, но не существенно).
24 окт 12, 15:46    [13369377]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34657
Пироман
в оракле я вхожу под своим именем и все объекты которые я создал принадлежат мне и только мне и я сам распоряжаюсь ими и даю гранты другим. А другие смертные никогда не увидят их без моего разрешения или SYSTEM. А в сиквеле я создаю таблицу и ее все видят кому не лень. Я В ШОКЕ.


На самом деле то же самое всё.
Видят -- это не страшно, они зато не могут ничего с ними сделать , даже прочитать, без твоего разрешения.
24 окт 12, 15:48    [13369388]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
aWlad
Member

Откуда: Москва
Сообщений: 42
Пироман,

надо просто успокоиться и понять, что не все "автоматом", как в ORACLE. Создаем три схемы, наделяем правами кого следует (вместо "даем им возможность ваять, что хотят в своей схеме") - будет то же самое (т.е. вид сбоку). Не надо давать прав DBO и SYSADMIN - от этого все "беды" с разницей идеологий. В SQL 2012 стало немного лучше в этом плане.
24 окт 12, 23:06    [13371630]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
Пироман
Guest
Спасибо, разбираюсь. Еще 2 вопроса:
1. Почему другие могут видеть мои объекты в дереве
2. После окончания разработки, можно ли поменять владельца объекта, чтобы один мог всем управлять или лучше дать этому одному права сисадмина. Т.е. был DBO, а стал user_1
25 окт 12, 15:03    [13374800]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
Пироман
Спасибо, разбираюсь. Еще 2 вопроса:
1. Почему другие могут видеть мои объекты в дереве
Выполните в контексте кого-то из "других"
select * from fn_my_permissions('какой-то мой объект, 'object');

Пироман
2. После окончания разработки, можно ли поменять владельца объекта, чтобы один мог всем управлять или лучше дать этому одному права сисадмина. Т.е. был DBO, а стал user_1
Зачем?
25 окт 12, 15:37    [13375095]     Ответить | Цитировать Сообщить модератору
 Re: Насколько политика безопасности в SQL SERVER отличается от оракловой  [new]
aWlad
Member

Откуда: Москва
Сообщений: 42
Пироман,

автор
Спасибо, разбираюсь. Еще 2 вопроса:
1. Почему другие могут видеть мои объекты в дереве
2. После окончания разработки, можно ли поменять владельца объекта, чтобы один мог всем управлять или лучше дать этому одному права сисадмина. Т.е. был DBO, а стал user_1


1. вот это разница "подходов": MS трактует так: "видит око, да зуб не ймет!"; ORACLE: "нефиг глядеть, коль не положено!".
2. в принципе, возможно; но можно и "огресть" проблемы с перераздачей прав - как спроектируете... Лучше пользуйтесь MS-ролями: создали роль для приложения, дали ЕЙ права, а юзера "входят" в эту роль для работы. Им самим ничего лично "не положено".
25 окт 12, 15:53    [13375244]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить