Аутентифицация и разграничение прав
Аутентифицация и разграничение прав
Есть список
https://identitymanagementinstitute.org/identity-and-acces...
Кто-то с чем-то из этого работал? Какие впечатления?
Задача - разграничить доступ к исходникам и исполняемому коду.
Детализация разграничений будет производится позднее, но уже сейчас знаю что читать/писать/исполнять будет мало.
Какая-то реализация у меня есть в системе управления документооборотом, но там громоздко и медленно. Хочется шустро и малоразмерно.
вы похоже вообще не в ту сторону смотрите.
во-первых, то, что вы хотите не аутентификация, а авторизация.
во-вторых, для исходников авторизация интегрирована в саму систему управления версиями (Git, SVN, etc). Указываете на сервере пользователей и их права на исходники, остальное RBAC за вас сделает.
исполняемый код обычно хранится в виде пакетов в системе управления пакетами типа ProGet или в сборочных системах типа TeamCity, Jenkins, etc. Там же есть настройка авторизации для пользователей. если ваш исполняемый код тупо валяется в файлопомойке, то тогда ограничивайте доступ к папкам и файлам на уровне ОС.
интегрирована в саму систему управления версиями
-----
Эээ... А кто сказалм что там где это нужно есть СУП?
если ваш исполняемый код тупо валяется в файлопомойке, то тогда ограничивайте доступ к папкам и файлам на уровне ОС
-----
Опять таки - кто говорит что средств ОС достаточно?
Исполняемый код - да, валяется в файлопомойке.
Больший файлопомойке. Очень большой.
С кучей пользователей. Которым нужно дать инструмент для управления своей частью помойки - кому-то что-то разрешать, кому-то что-то разрешать... где-то вообще нужно будет что-то такое об чем еще неподумали.
Давать допуск к средствам ОС? Нее, это смертельно - и так ломать будут регулярно...
Задача - разграничить доступ к исходникам и исполняемому коду.
Я работаю с bitbucket. Это система контроля версий, клон GITа. Первый уровень - сервер вообще доступен (у нас свой сервер). Потом доступ к репозиториям. Открытые видны всем. Таких сейчас нет. Остальные видны только зарегестрированным пользователям с правами на просмотр. Регистрация привязана к доменному контроллеру Винды, но несомненно можно привязать к любой системе управления пользовательскими аккаунтами. Поддерживаются группы пользователей. То есть 20 проектов, делаем 20 групп и группе разрешаем просмотр репозитория проекта. Внутри репозитория даются права на коммит, пулл без пуллреквеста, удаление ветки (конкретной и по маске) и еще пара прав. Всегда можно отследить, кто что делал, включая не только код, но и манипуляции в настройках репозитория. Можно делать автоматические бэкаппы
Исполняемый код - да, валяется в файлопомойке.
Код должен быть только в системе управления версиями. Защищать помойку бессмысленно. имхо
Которым нужно дать инструмент для управления своей частью помойки
ну ты бы вначале задачу нормально описал.
Где именно валяется?
Что именно валяется? (ехе с возможностью запуска+ исходники проектов)
Как сейчас осуществляется доступ?
Какое идеальное решение хочется?
...
bitbucket
------
Насколько Я знаю - там все размазано по коду тонким слоем.
еще пара прав
-----
Меня интересует можно ли, скажем, вместо "коммит" определить две другие операции "хвостик с коммитом", "коммит с хвостиком" и определить для них права как группы, так и админов, владельцев и т.п. Разумеется, без переделки использующего это дело кода.
Защищать помойку бессмысленно
-----
Не совсем.
При отсутствии прямого доступа к файлопомойке - задача вполне решаемая.
Например, описывается возможность "видеть" содержимое файлопомойки только владельцу и никто другой это не видит...
Где именно валяется?
-----
Где-то в системе. Где именно Я еще не решил.
Что именно валяется? (ехе с возможностью запуска+ исходники проектов)
------
Т4, XSD и полученный из них исполняемый код в длл.
Исходники, скорее всего, лягут в ГИТ.
А куда ложить компиляцию - надо думать.
Как сейчас осуществляется доступ?
-----
Без ограничений. Простое хранение в файловой системе.
Какое идеальное решение хочется?
------
Сложно.
Нужно чтобы любой из пользователей мог загрузить свои Т4 и определить как их использовать.
Ну а система позволила всем остальным использовать их как определено.
Вот сейчас думаю - если сделать группу Паблик и дать ей доступ по-умолчанию ко всему публичному - будет ли это нормально, если юзер в паблике получается так же по умолчанию... вроде как будет не так как нужно...
Как обычно, всё нужно вырывать пытками
Где-то в системе.
То бишь есть сетевая файловая система и в ней всё накидано? Это как есть, а не как должно быть.
чтобы любой из пользователей мог ... определить как их использовать.
Вероятно здесь и зарыта собака. Пользователь должен раздавать права на свои файлы, а не админ.
Тогда получается хочется иметь прослойку - файл менеджер с правами
А как быть с поиском нужного файла?
Пользователи устроят полный бардак, если им всё разрешить.
Можно правда обойтись более простой системой, что ОС даёт: есть папки личные, общие, служебные и секретные.
В личные никто не может залезть кроме пользователя и админа.
В общие все.
В служебные и секретные каждый может записать файл и просмотреть список своих файлов( удалить). Чтение всего по разрешению.
Это как есть, а не как должно быть.
-----
Почему?
Мне как раз это видится правильным - где-то на писюке что-то хранится.
Доступ к этому идет через шлюз разрабатываемой системы - что можно - видит, что нельзя - просто не видит.
Прямого доступа к месту хранения - нету. Если мне не понравится - поменяю шлюз.
Вроде так можно.
хочется иметь прослойку - файл менеджер с правами
------
Ну так Я вроде как это и спрашиваю...
Правда понятие "Прав" должно определяться позднее - Я пока не знаю какие нужны.
Пользователи устроят полный бардак, если им всё разрешить.
-----
Разумеется.
В служебные и секретные каждый может записать файл и просмотреть список
------
Я не хочу чтобы они знали как оно работает.
Мне хочется чтобы могли использовать, не зная деталей реализации... и, в принципе, не могли получить эту информацию.
Выглядит примерно так:
- юзер хочет использовать шаблон "Форма:Строчный редактор,Автор:Алех,версия=1.2.3.4"
- указанный шаблон использует 20(00) субшаблонов разных пользователей - часть из них общая, часть - частная.
- один из используемых субшаблонов "Форма:Строчный редактор,Имплементация:.Нет2.0,Автор:Мурр,версия=2.4.5.6"
- другой субшаблон "Форма:Строчный редактор,Имплементация:Телерик,Автор:Немо,версия=2.4.5.22"
Указанная пара субшаблонов - заменяемая, но:
- первая версия субшаблона - публична, может пользовать кто хочет.
- для использования второй нужны пермишены от автора "Немо".
Юзер получил от "Немо" права на пользование, посмотрел что получилось и ему что-то не понравилось - ему нужны другие права чтобы поправить что ему не нравится. Опять вопросы к "Немо" и дальше уже как получится - либо он сам отредактирует, либо даст исходники,
Вот всем этим надо как-то управлять.
Примено так.
Ага, еще каталог файлов хочешь.
А кто его будет вести?
Откуда появятся зависимости и как переписываться с автором?
А как быть с секретными модулями? Ведь о них не должны ничего знать все, в том числе и автора.
И если мне придёт запрос на открытия права откуда мне знать что этому пользователю их можно дать?
Нельзя подобную вещь отдавать на откуп пользователям.
Ну и нужно знать примерное количество пользователей и файлов.
А если нет текущего решения, значит пытаешься угадать, что может быть полезно пользователю.
Вот как микрософт сделал: логин провайдер - фейсбук,... claim
А кто его будет вести?
-----
Юзера.
Будут описывать свои поделия и предлагать улучшения для существующих.
Откуда появятся зависимости и как переписываться с автором?
-----
Из практики использования.
Автору до этого нет дела - написал, работает как надо - все Ок - Осталось описалово на форум скинуть.
А как быть с секретными модулями?
-----
Что есть секретный модуль?
И если мне придёт запрос на открытия права откуда мне знать что этому пользователю их можно дать?
-----
А откуда Я могу знать можно ли к твоему поделию дать доступ какому-то юзеру?
При этом Я не знаю ни что за поделие, ни что хочет юзер...
Нельзя подобную вещь отдавать на откуп пользователям.
-----
Нельзя это менеджерить самому - не останется времени ни на что другое.
Об АД Я думал.
Пока останавливает то, что нужно юзверей регать в АД текущей оси.
Не хочется этого. Хочется иметь их отдельно от оси. Совсем отдельно.
Ну либо нужен отдельный домен, который будет заниматься только этими юзерами. Такое Я еще не делал.
Будут описывать свои поделия и предлагать улучшения для существующих.
И что об этом говорит существующий опыт?
Что есть секретный модуль?
Есть приватные и публичные на концах, а что посередине?
Ну либо нужен отдельный домен, который будет заниматься только этими юзерами.
За тебя это всё уже сделали. При создании проекта просто выбираешь "с идентификацией". (Не помню уж как точно называется)
А после регистрируй юзверей и создавай им роли.
И что об этом говорит существующий опыт?
-----
Что надо быть фриком с семью пядями во лбу чтобы этим заниматься.
Таковые - есть, но весьма немного.
а что посередине?
-----
И в привате, и в паблике, и посредине - то, что юзвери слепят.
Ближайший аналог - ИИС - обеспечивает обработку запросов и отсылку результатов, а генерация результатов - на юзверях...
При создании проекта просто выбираешь "с идентификацией".
-----
А поточнее никак не получится? Хотя бы версию Студии и группу визардов...
Что надо быть фриком с семью пядями во лбу чтобы этим заниматься.
Ну так на что и намекаю - никто не будет этим заниматься, да и еще на запросы отвечать.
А поточнее никак не получится?
22 студия еще официально не вышла, значит остаётся 2019. Вот для веба
Хотя вероятно тебе не пойдет, там юсер не может сам себя админом назначить.
Ааа... знаю такую байду...
Это проверка при вызове метода сервиса. И только, не перестраиваемая.
Мне ее мало.
Мне надо оценивать доступ к... хммм... инстансам классов... ну или к одному методу инстанса класса.
Загрузка класса - поздняя, ручная - вот между загрузкой и вызовом и надо оценивать разрешение на использованиe...
никто не будет этим заниматься, да и еще на запросы отвечать
-----
Тут ты слегка ошибаешься.
Во первых фриков довольно много - результаты их работы Я вижу довольно регулярно.
Во-вторых, всегда можно дать права на пользование и избавится от лишних вопросоv.