Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Аутентифицация и разграничение прав

1051  1 2 3 все
Murr патриот31.07.21 00:54
Murr
NEW 31.07.21 00:54 

Аутентифицация и разграничение прав


Есть список

https://identitymanagementinstitute.org/identity-and-acces...


Кто-то с чем-то из этого работал? Какие впечатления?


Задача - разграничить доступ к исходникам и исполняемому коду.

Детализация разграничений будет производится позднее, но уже сейчас знаю что читать/писать/исполнять будет мало.


Какая-то реализация у меня есть в системе управления документооборотом, но там громоздко и медленно. Хочется шустро и малоразмерно.

#1 
Ursus2017 местный житель31.07.21 21:26
Ursus2017
31.07.21 21:26 
в ответ Murr 31.07.21 00:54

вы похоже вообще не в ту сторону смотрите.

во-первых, то, что вы хотите не аутентификация, а авторизация.

во-вторых, для исходников авторизация интегрирована в саму систему управления версиями (Git, SVN, etc). Указываете на сервере пользователей и их права на исходники, остальное RBAC за вас сделает.


исполняемый код обычно хранится в виде пакетов в системе управления пакетами типа ProGet или в сборочных системах типа TeamCity, Jenkins, etc. Там же есть настройка авторизации для пользователей. если ваш исполняемый код тупо валяется в файлопомойке, то тогда ограничивайте доступ к папкам и файлам на уровне ОС.

#2 
Murr патриот31.07.21 22:44
Murr
NEW 31.07.21 22:44 
в ответ Ursus2017 31.07.21 21:26

интегрирована в саму систему управления версиями

-----

Эээ... А кто сказалм что там где это нужно есть СУП?


если ваш исполняемый код тупо валяется в файлопомойке, то тогда ограничивайте доступ к папкам и файлам на уровне ОС

-----

Опять таки - кто говорит что средств ОС достаточно?

Исполняемый код - да, валяется в файлопомойке.

Больший файлопомойке. Очень большой.

С кучей пользователей. Которым нужно дать инструмент для управления своей частью помойки - кому-то что-то разрешать, кому-то что-то разрешать... где-то вообще нужно будет что-то такое об чем еще неподумали.

Давать допуск к средствам ОС? Нее, это смертельно - и так ломать будут регулярно...

#3 
koder патриот01.08.21 07:31
koder
NEW 01.08.21 07:31 
в ответ Murr 31.07.21 00:54
Задача - разграничить доступ к исходникам и исполняемому коду.


Я работаю с bitbucket. Это система контроля версий, клон GITа. Первый уровень - сервер вообще доступен (у нас свой сервер). Потом доступ к репозиториям. Открытые видны всем. Таких сейчас нет. Остальные видны только зарегестрированным пользователям с правами на просмотр. Регистрация привязана к доменному контроллеру Винды, но несомненно можно привязать к любой системе управления пользовательскими аккаунтами. Поддерживаются группы пользователей. То есть 20 проектов, делаем 20 групп и группе разрешаем просмотр репозитория проекта. Внутри репозитория даются права на коммит, пулл без пуллреквеста, удаление ветки (конкретной и по маске) и еще пара прав. Всегда можно отследить, кто что делал, включая не только код, но и манипуляции в настройках репозитория. Можно делать автоматические бэкаппы



Исполняемый код - да, валяется в файлопомойке.

Код должен быть только в системе управления версиями. Защищать помойку бессмысленно. имхо

#4 
Ursus2017 местный житель01.08.21 09:17
Ursus2017
NEW 01.08.21 09:17 
в ответ Murr 31.07.21 22:44

ломать ACL винды?!))))) у вас там команда элитных суперхакеров? еще на NT лет 20 тому я делал такие фокусы через одну из подсистем ядра, но сегодня это абсолютно не вариант если у сисадмина не кривые руки конечно.

#5 
AlexNek патриот01.08.21 19:00
AlexNek
NEW 01.08.21 19:00 
в ответ Murr 31.07.21 22:44
Которым нужно дать инструмент для управления своей частью помойки

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

Где именно валяется?

Что именно валяется? (ехе с возможностью запуска+ исходники проектов)

Как сейчас осуществляется доступ?

Какое идеальное решение хочется?

...

#6 
Murr патриот01.08.21 20:26
Murr
NEW 01.08.21 20:26 
в ответ koder 01.08.21 07:31

bitbucket

------

Насколько Я знаю - там все размазано по коду тонким слоем.


еще пара прав

-----

Меня интересует можно ли, скажем, вместо "коммит" определить две другие операции "хвостик с коммитом", "коммит с хвостиком" и определить для них права как группы, так и админов, владельцев и т.п. Разумеется, без переделки использующего это дело кода.


Защищать помойку бессмысленно

-----

Не совсем.

При отсутствии прямого доступа к файлопомойке - задача вполне решаемая.

Например, описывается возможность "видеть" содержимое файлопомойки только владельцу и никто другой это не видит...

#7 
Murr патриот01.08.21 20:30
Murr
NEW 01.08.21 20:30 
в ответ Ursus2017 01.08.21 09:17

у вас там команда элитных суперхакеров?

-----

Внешние (не контролируемые) пользователи, которым разрешено загружать исходники определенного типа, компилировать их и выполнять получeнный код.

#8 
Murr патриот01.08.21 20:44
Murr
NEW 01.08.21 20:44 
в ответ AlexNek 01.08.21 19:00

Где именно валяется?

-----

Где-то в системе. Где именно Я еще не решил.


Что именно валяется? (ехе с возможностью запуска+ исходники проектов)

------

Т4, XSD и полученный из них исполняемый код в длл.

Исходники, скорее всего, лягут в ГИТ.

А куда ложить компиляцию - надо думать.


Как сейчас осуществляется доступ?

-----

Без ограничений. Простое хранение в файловой системе.


Какое идеальное решение хочется?

------

Сложно.

Нужно чтобы любой из пользователей мог загрузить свои Т4 и определить как их использовать.

Ну а система позволила всем остальным использовать их как определено.


Вот сейчас думаю - если сделать группу Паблик и дать ей доступ по-умолчанию ко всему публичному - будет ли это нормально, если юзер в паблике получается так же по умолчанию... вроде как будет не так как нужно...

#9 
AlexNek патриот01.08.21 21:13
AlexNek
NEW 01.08.21 21:13 
в ответ Murr 01.08.21 20:44

Как обычно, всё нужно вырывать пытками спок

Где-то в системе.

То бишь есть сетевая файловая система и в ней всё накидано? Это как есть, а не как должно быть.


чтобы любой из пользователей мог ... определить как их использовать.

Вероятно здесь и зарыта собака. Пользователь должен раздавать права на свои файлы, а не админ.

Тогда получается хочется иметь прослойку - файл менеджер с правами

#10 
AlexNek патриот01.08.21 21:51
AlexNek
NEW 01.08.21 21:51 
в ответ Murr 01.08.21 20:44

А как быть с поиском нужного файла?

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


Можно правда обойтись более простой системой, что ОС даёт: есть папки личные, общие, служебные и секретные.

В личные никто не может залезть кроме пользователя и админа.

В общие все.

В служебные и секретные каждый может записать файл и просмотреть список своих файлов( удалить). Чтение всего по разрешению.

#11 
Murr патриот02.08.21 01:11
Murr
NEW 02.08.21 01:11 
в ответ AlexNek 01.08.21 21:13

Это как есть, а не как должно быть.

-----

Почему?

Мне как раз это видится правильным - где-то на писюке что-то хранится.

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

Прямого доступа к месту хранения - нету. Если мне не понравится - поменяю шлюз.

Вроде так можно.


хочется иметь прослойку - файл менеджер с правами

------

Ну так Я вроде как это и спрашиваю...

Правда понятие "Прав" должно определяться позднее - Я пока не знаю какие нужны.

#12 
Murr патриот02.08.21 01:34
Murr
NEW 02.08.21 01:34 
в ответ AlexNek 01.08.21 21:51

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

-----

Разумеется.


В служебные и секретные каждый может записать файл и просмотреть список

------

Я не хочу чтобы они знали как оно работает.

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


Выглядит примерно так:

- юзер хочет использовать шаблон "Форма:Строчный редактор,Автор:Алех,версия=1.2.3.4"

- указанный шаблон использует 20(00) субшаблонов разных пользователей - часть из них общая, часть - частная.

- один из используемых субшаблонов "Форма:Строчный редактор,Имплементация:.Нет2.0,Автор:Мурр,версия=2.4.5.6"

- другой субшаблон "Форма:Строчный редактор,Имплементация:Телерик,Автор:Немо,версия=2.4.5.22"

Указанная пара субшаблонов - заменяемая, но:

- первая версия субшаблона - публична, может пользовать кто хочет.

- для использования второй нужны пермишены от автора "Немо".

Юзер получил от "Немо" права на пользование, посмотрел что получилось и ему что-то не понравилось - ему нужны другие права чтобы поправить что ему не нравится. Опять вопросы к "Немо" и дальше уже как получится - либо он сам отредактирует, либо даст исходники,

Вот всем этим надо как-то управлять.

Примено так.

#13 
AlexNek патриот02.08.21 11:34
AlexNek
NEW 02.08.21 11:34 
в ответ Murr 02.08.21 01:34

Ага, еще каталог файлов хочешь.

А кто его будет вести?

Откуда появятся зависимости и как переписываться с автором?

А как быть с секретными модулями? Ведь о них не должны ничего знать все, в том числе и автора.

И если мне придёт запрос на открытия права откуда мне знать что этому пользователю их можно дать?


Нельзя подобную вещь отдавать на откуп пользователям.


Ну и нужно знать примерное количество пользователей и файлов.


А если нет текущего решения, значит пытаешься угадать, что может быть полезно пользователю.


Вот как микрософт сделал: логин провайдер - фейсбук,... claim

#14 
Murr патриот02.08.21 19:47
Murr
NEW 02.08.21 19:47 
в ответ AlexNek 02.08.21 11:34, Последний раз изменено 02.08.21 19:59 (Murr)

А кто его будет вести?

-----

Юзера.

Будут описывать свои поделия и предлагать улучшения для существующих.


Откуда появятся зависимости и как переписываться с автором?

-----

Из практики использования.

Автору до этого нет дела - написал, работает как надо - все Ок - Осталось описалово на форум скинуть.


А как быть с секретными модулями?

-----

Что есть секретный модуль?


И если мне придёт запрос на открытия права откуда мне знать что этому пользователю их можно дать?

-----

А откуда Я могу знать можно ли к твоему поделию дать доступ какому-то юзеру?

При этом Я не знаю ни что за поделие, ни что хочет юзер...


Нельзя подобную вещь отдавать на откуп пользователям.

-----

Нельзя это менеджерить самому - не останется времени ни на что другое.


Об АД Я думал.

Пока останавливает то, что нужно юзверей регать в АД текущей оси.

Не хочется этого. Хочется иметь их отдельно от оси. Совсем отдельно.

Ну либо нужен отдельный домен, который будет заниматься только этими юзерами. Такое Я еще не делал.

#15 
AlexNek патриот02.08.21 21:17
AlexNek
NEW 02.08.21 21:17 
в ответ Murr 02.08.21 19:47
Будут описывать свои поделия и предлагать улучшения для существующих.

И что об этом говорит существующий опыт? смущ


Что есть секретный модуль?

Есть приватные и публичные на концах, а что посередине?


Ну либо нужен отдельный домен, который будет заниматься только этими юзерами.

За тебя это всё уже сделали. При создании проекта просто выбираешь "с идентификацией". (Не помню уж как точно называется)

А после регистрируй юзверей и создавай им роли.

#16 
Murr патриот02.08.21 21:37
Murr
NEW 02.08.21 21:37 
в ответ AlexNek 02.08.21 21:17

И что об этом говорит существующий опыт?

-----

Что надо быть фриком с семью пядями во лбу чтобы этим заниматься.

Таковые - есть, но весьма немного.


а что посередине?

-----

И в привате, и в паблике, и посредине - то, что юзвери слепят.

Ближайший аналог - ИИС - обеспечивает обработку запросов и отсылку результатов, а генерация результатов - на юзверях...


При создании проекта просто выбираешь "с идентификацией".

-----

А поточнее никак не получится? Хотя бы версию Студии и группу визардов...

#17 
AlexNek патриот03.08.21 12:00
AlexNek
NEW 03.08.21 12:00 
в ответ Murr 02.08.21 21:37, Последний раз изменено 03.08.21 12:01 (AlexNek)
Что надо быть фриком с семью пядями во лбу чтобы этим заниматься.

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


А поточнее никак не получится?

22 студия еще официально не вышла, значит остаётся 2019. Вот для веба


Хотя вероятно тебе не пойдет, там юсер не может сам себя админом назначить.

#18 
Murr патриот03.08.21 20:30
Murr
NEW 03.08.21 20:30 
в ответ AlexNek 03.08.21 12:00

Ааа... знаю такую байду...

Это проверка при вызове метода сервиса. И только, не перестраиваемая.

Мне ее мало.

Мне надо оценивать доступ к... хммм... инстансам классов... ну или к одному методу инстанса класса.

Загрузка класса - поздняя, ручная - вот между загрузкой и вызовом и надо оценивать разрешение на использованиe...


#19 
Murr патриот03.08.21 20:36
Murr
NEW 03.08.21 20:36 
в ответ AlexNek 03.08.21 12:00

никто не будет этим заниматься, да и еще на запросы отвечать

-----

Тут ты слегка ошибаешься.

Во первых фриков довольно много - результаты их работы Я вижу довольно регулярно.

Во-вторых, всегда можно дать права на пользование и избавится от лишних вопросоv.

#20 
1 2 3 все