Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Есть необходимость ограничить доступ для девелоперов к изменению модели и системных данных в некоторых таблицах. Все таблицы и код живут в неймспейсе dbo и перенести код из этого неймспейса невозможно. Проект огромный и уследить кто из девелоперов где и что натворил невозможно, поэтому есть желание дать девелоперам только право на создание, модифицирование и удаление СП и функций, чтение, удаление и упдей записей в выбранных таблицах в неймспейсе dbo и только это. СКЛ Сервер 2000. Это возможно сделать? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2002, 20:09 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Привет, папа! Ну ты даёшь, пап, совсем уже забыл про Азбуку, про BOL то есть! А BOL, ведь там почти всё есть, а именно про это твоё дело. Короче, смотри там, пап, про fixed database and server roles. Пап, я в твою проблему не вгрызался особо конечно, так как инфы маловато, но по идее встроенных ролей должно хватить.Хотя пиши, если что. Ну ладно, пап, я побежал, а то Мальвина уже заждалась... Пока! Нежно любящий тебя Буратино ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2002, 02:01 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
как был деревянным, так им и остался. я много что попробовал уже, но не мое это дело заниматься админством, а приходится. когда не знаешь, то лучше молчать сойдешь за умного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2002, 04:50 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Да, как ты был, папа, старым пнём так ты им и остался! Даже проблему обрисовать нормально не можешь. А я тебе ещё помочь хотел... И чего ж ты, старый Карла, полез в админскую епархию, если она тебя даже не касается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2002, 22:45 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
>поэтому есть желание дать девелоперам только право на создание, модифицирование и удаление СП и функций Вот с первым проблем нет: лучше создать роль, например Developers, и назначить ей права GRANT CREATE FUNCTION, CREATE PROCEDURE TO Developers Правда, т.к. ваши девелоперы не члены db_owner, то если они при создании не будут указывать владельца dbo, то будут автоматически становиться владельцами создаваемых процедур. Т.е. придется решать этот вопрос административно. А вот ALTER и DROP объекта могут выполнять владелец и члены групп db_owner и db_ddladmin. Владелец и db_owner вам не подходят(владельцем всех объектов вы хотите видеь dbo, ведь так ?, ну а db_owner - это слишком много прав). Остается db_ddladmin - правда у члена роли будет право выполнять абсолютно все команды DDL. >чтение, удаление и упдей записей в выбранных таблицах в неймспейсе dbo Тут совсем все просто: создается роль и наделяется сответсвующими правами. IMHO Может быть надо ставить вопрос шире. Организовывать что-то вроде тестовой/девелоперской базы, в которой можно очень многое. После отладки процедур наделенные соответсвующими правами люди переносят код в реально работающую базу. Либо девелопер на стадии отладки является владельцем процедуры и после окончания откладки опять же специальный человек меняет владельца процедуры, отбирая таким образом права у девелопера. Вообщем вопрос не простой и уникального рецепта ршения только с помощью встроенных средств IMHO нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2002, 07:30 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Браво! Glory точен как всегда. Действительно, я как-то сразу не обратил внимания что папа Карло пытается "приструнить" разработчиков на "боевой" базе. Из собственного опыта могу подтвердить, что подобные попытки как правило бесплодны. Мне в итоге пришлось выбить у руководства отдельный сервер для разработчиков. Теперь разработчикам раздолье - backup/restore, shutdown/restart в любой момент и сколько захочешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2002, 07:59 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Итак, дабы не быть голословным... Около 10 девелопент серверов... Команды разработчиков от 4 до 45 человек... Отдельные серваки с которыми нет проблем - продакшен, стейжинг и сервер для тестеров. На последних трех серверах все нормально. туда есть доступ только у билд-группы. Прикол в том, что все живет в нейм-спейсе ДБО. База огромна и двинуть СП и СФ в другой неймспейс просто невозможно. Остается только настроить логины или роль таким образом, что люди будут способны делать только СП и СФ. Моя задача защитить модель и "системные" таблицы в таком енвайронменте. Представьте, что над проектов работает 45 человек и тут одному "самомому умному" захотелось добавить поле в таблицу, он его делает и потом все остальные думают, что так и надо... База террабайтная и куда я клоню наверное понятно. Получилось так, что у нас нет ДБА... не спрашивайте почему. Оно так. Буду благодарен любому совету как создать логин/роль у которой будет _только_ возможность зоздавать, удалять и изменять СП и СФ с неймспейсе ДБО. Для того чтобы разгрантить права на таблицы у меня мозгов хватит. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2002, 17:58 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Ещё раз все попорядку Вы хотите, чтобы в рамках одной базы 1. Владельцем всех объектов был dbo. Для того, чтобы создавать объекты, принадлежащие другому пользователю(читай dbo), роль Developers должена быть - dbo(не подходит, т.к. у нас не один пользоватеь а группа) - членом роли db_owner(подходит, почему бы и нет) - членом роли db_ddladmin (тоже подходит) 2. Роль Developers не имела права на команды ALTER и DROP на некоторые таблицы Обычно права на команды ALTER и DROP для объекта внутри базы имеют - владелец объекта(в нашем случае это всегда dbo, см.п.1, не подходит) - член роли db_owner(ага! значит Developers сюда пускать нельзя) - член роли db_ddladmin (и сюда тоже) 3. Роль Developers имела права создание процедур и функций для владельца См.п.1 4. Роль Developers имела права редактирование процедур и функций См.п.2 Т.е. налицо явное противоречие: вы хотите чтобы в отношении некоторых объектов(процедур и функций) роль Developers вела себя как dbo, а в отношении других(таблицы) - как обыкновенный пользователь. В рамках одной базы поставленные вами условия IMHO выполнить невозможно. Возможные решения 1. В рамках одной базы: разрешить членам Developers создавать процедуры и функции и владеть ими. Тогда они смогут редактировать и удалять их, не имея членства в db_owner и ddl_admin, что в свою очередь не позволит им(если не будут даны права) изменять структуры таблиц. 2. В рамках двух баз: в одной базе роль Developers входит в роль db_owner. В этой базе разрешено(!административно!) создание только процедур и функций. Во второй базе находяся таблицы и здесь аналогичная роль Developers имеет строго назначенные права, исключающие возможность изменения и/или создания объектов. Такое решение потребует - чтобы пользователи были продублированы в обеих базах - чтобы обращение к объектам второй базы из процедур первой базы происходило с указанием имени базы (это в свою очередь может повлечь наверное проблемы на стадии промышленного внедрения, когда имя базы придется менять) - ..... 3. Организация работы разработчиков с базой не напрямую, а через средства 3-их фирм, где имеются возможности отслеживания внесенных изменений. 4. Какие-то административные решения о порядке изменения критических объектов 5. ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 08:03 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Лучшая драка - которая не состоялась, а самое лучшее решение - это когда оно перестает быть необходимым. Можно поступить проще: Добиться административными мерами, чтобы каждый разработчик отдавал в общую копилку скрипт на те изменения, которые он произвел. Все равно эти скипты понадобяться чтобы применить их на боевом сервере и др. распространения. Таким образом проблема отпадет сама собой за ненадобностью, а люди научаться дисциплине (не сразу, конечно же, а после N-ного количества гвиздюлей). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 08:54 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Два Предложения 1. (уже прозвучавшее) Девелоперы ДОЛЖНЫ (или ОБЯЗАНЫ) девелоперить в отдельной БД (она может быть копией рабочей БД)!!!!! Далее все наработки переносятся на тестовую БД где тестируются (что не лишне при такой команде разработчиков) далее наработки переносятся на рабочую БД. Такой подход мне кажется позволяет обеспечивать наилучьшее качество, хотя и пораждает ряд дополнительных проблем 2. Закрыть доступ нельзя, но можно настроить аудит! Запускаем профайлер, создаем новую трассировку, включаем в нее единственный Event TSQL SQL:StmtComplete Настраиваем фильтр TEXT include - alter table; create table; drop table Запускаем трассировку.... и имена и деяния "самых умных" девелоперов у Вас на экране Далее можно все выше сказанное перевести на T-SQL, создать Job, который будет стартовать вместе с сервером.... .... и т.д. и т.п. Ресурсов такой трассер много скушать не должен т.к. в самом хорошем варианте результатов в трассере быть не должно PS опробовал на SQL Server 7.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 09:29 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Присоединяюсь к мнению, что разработчиков к продуктивному серверу подпускать нельзя - ну лишите Вы их права на изменение таблиц, это же не помешает им грохнуть ВСЕ данные в этих таблицах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 09:58 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Еще раз внимательно все перечитал: "Около 10 девелопент серверов... Команды разработчиков от 4 до 45 человек", "База террабайтная...", "у нас нет ДБА" Странно что при таких ресурсах нет ответственного лица(лиц), отвечающих за согласованность изменений... "не спрашивайте почему". Не обижайтесь уважаемый папа Карло, но налицо очень советская ситуация - попытка автоматизировать бардак. Любая серьезная безопасность не может обойтись без административных мер (см. реплику г-на Уфимцева) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 10:37 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Меня не понимают. Девелоперы НЕ имеют доступа к БОЕВЫМ базам. К БОЕВОЙ базе нет доступа даже у меня. В компании нет ДБА, потому-что... политика такая -- дорого это и кризис в стране. Вся задача в том, что необходимо ограничить права на _девелопмент_ сервере, на котором девелоперы тренируют свой код. Девелоперы не делают ни модель ни индексы ни поля, для этого есть вполне определенные люди. Прикол в том, что если один девелопер добавляет поле, то другие считают, что это сделал архитектор и так и надо, потом когда я нахожу эту фигню начинаются разборы и поле удаляется... ломая часть кода. 2Глеб: Хорошая мысль смотреть весь код... 750 таблиц, про число полей молчу, 3500 СПешек, про размер в Мбах тоже. билд раз в два дня. кто способен? Я вот что хочу попробовать: дать пользователю группу db_owner и Developers, в группе Девелоперс сказать deny все, что не надо. Как думаете будет работать? В доке написано, что ктобы чувак не был, если есть хоть один deny на ресурс, то все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 20:09 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Итак... я попробовал. Вся выглядит так, как-будто у меня получилось. создаем роль Developers, deny all to Developers grant .... to Developers -- только то, что надо разрешаем берем пользователя, даем ему db_ddladmin и Developers на нужные базы. Девелоперов заставляем использовать dbo.* когда создают СПшки. Все просто. Есть ли способ не писАть dbo перед СПхами? Не пропустил ли я чего? Всем спасибо! Глори, персональное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 20:23 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
2 Папа Карло : Советую скачать Change manager на www.embarcadero.com(один продукт,работает почти под всеми платформами для баз данных), найти ключ в инете и пользоваться потихоньку...Будет видно по нему что было изменено. Можно делать архивные снимки с базы и сравнивать во времени, синхронизировать что нужно и т.д...Даже если юзвери забудут проинформировать, что они там забабахали нового, будет все прекрасно видно.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 21:35 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
2 Папа Карло. Забыл добавить. Понял что Вы в Ванкувере. Я в Эдмонтоне. Если что, мой адрес vladimirm_2@hotmail.com. Разница по времени у нас небольшая. Можем пообщаться.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 21:54 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
Оно работает, но(!) я не могу пользователю запретить дроп таблиц, спешек, итд. алтерить тоже могут. я не понял, deny all to Developers че, не работает?? Неужели майкрософт не разрешает делать денай на такие операции?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 03:41 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
2папа Карло Так я вам про что и толкую Есть права на структуру объектов и на их содержимое. Нет DENY на ALTER и DROP ! Запрет/разрешение на ALTER и DROP определяется членством в роли или фактом владением объектом (см п.2 моего предыдущего сообщения и вывод) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 06:57 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
MS must die. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 20:24 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
А ты Карло возьми FileMaker или Кларион. И я на тебя тогда посмотрю. Moth. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 23:48 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
На "MS must die" Проблема не в MS, а в не правильной организации, повидимому, достаточно большого проекта. Если в день по два билда и без системы контроля качества, что же в результате получится.... Жалко Ваши терабайты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2002, 12:23 |
|
||
|
Вопрос для ДБА -- секюрити
|
|||
|---|---|---|---|
|
#18+
2 папа Карло Как то пропустил темку Как здесь уже говорили, ну бардак у вас, ето ж надо доверить схему данных девелоперам! Насколько я понял ваша контора софт пишет, если так мне только остается удивляться как вы там производите контроль версий Нужен один или несколько разработчиков БД которые и разрабатывают схему данных ну и пишут СП, если девелоперу нужна какая то СП или их набор, то он запрашивает их у разработчика - в этом случае как минимум 2 плюса 1. Разработчик БД напишет более эффективные запросы, чем программер 2. Не будет бардака с СП Ну и понятное дело не обойтись без CASE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2002, 14:08 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32020330&tid=1824339]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
58ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 320ms |

| 0 / 0 |
