|
oData и права | ☑ | ||
---|---|---|---|---|
0
dinn
19.06.19
✎
15:46
|
Всем привет. Есть ли возможность ограничить доступ к oData пользователям? И что вообще с безопасностью в этом интерфейсе?
|
|||
1
Garykom
гуру
19.06.19
✎
16:03
|
(0) Nginx поставь как реверсивный прокси и что хочешь и как хочешь ограничивай и заодно сможешь и кешировать при необходимости.
|
|||
2
dinn
19.06.19
✎
16:50
|
Тоесть со стороны 1С никаких огрничений нет? если опубликовал стандартный oData то она становится доступен каждому пользователю базы. Возможно здесь что-то сделать без настроек веб сервера? Если выключать вывод данных пользователю, то он узнав об oData подключится к базе через Excel и скачает.(
|
|||
3
Garykom
гуру
19.06.19
✎
17:08
|
"При чтении и записи данных с помощью REST интерфейса платформа выполняет все обычные проверки прав и вызывает обработчики событий, за исключением проверки заполнения."
|
|||
4
dinn
19.06.19
✎
17:24
|
(3) Замечательно сказано. Но, по факту: публикую типовую БП КОРП, создаю пользователя с правами "Только чтение" захожу в базу, вывод контрагентов в список отключен. прохожу по ссылке под тем же пользователем ../odata/standard.odata/Catalog_Контрагенты?$format=json и сохраняю список.
|
|||
5
Вафель
19.06.19
✎
17:26
|
если чтение есть, то по одата будет доступен
|
|||
6
dinn
19.06.19
✎
17:29
|
(5) Да, явно не доработка. В таком случае только ограничивать фаерволом или настройками веб сервера 80 порт и разрешать только определенным ip
|
|||
7
dinn
19.06.19
✎
17:37
|
При этом oData "Благодаря универсальности и кроссплатформенности мы позиционируем автоматически генерируемый REST интерфейс как основной инструмент для интеграции со сторонними системами."
|
|||
8
Вафель
19.06.19
✎
17:38
|
делай лучше отдельные сервисы и под них юзеров заводи
|
|||
9
НачинающийВ1С
19.06.19
✎
17:42
|
(0) А не вариант всех пользователей сделать на кириллице, а пользователя для одаты завести на латинице? Одата же не работает с пользователями на кириллице.
|
|||
10
Вафель
19.06.19
✎
17:44
|
(9) все прекрасно работает
|
|||
11
dinn
19.06.19
✎
17:44
|
(8) да, прийдется писать http сервис с нужными функциями в виде расширения и публиковать его. А хотелось без писанины на автоматическом rest.
|
|||
12
dinn
19.06.19
✎
17:46
|
(9) работает, хоть и ни хотелось бы
|
|||
13
Garykom
гуру
19.06.19
✎
18:03
|
(11) Ты издеваешься?
Отдельного пользователя и разруливаешь правами по доступу, прочим в odata не пускаешь. Или ставишь Nginx и там рулишь отдельно для путей как надо, можно даже фильтрацию замутить по желанию. Это когда вместо всех контрагентов выводят только разрешенных или фигу по центру. |
|||
14
RomanYS
19.06.19
✎
18:04
|
А для odata не нужно право на "Внешнее соединение"?
|
|||
15
Cyberhawk
19.06.19
✎
18:05
|
Проще профиль свой создать под пользователя
|
|||
16
Anarki
19.06.19
✎
18:10
|
О, знатоки Одаты собрались! Срошу здесь)
Я правильно понял что в запросной строке нельзя одновременно наложить filter и select? Допустим я хочу выбрать организацию с ИНН = "11111111111111" и вернуть только ссылку: http://192.168.1.1/MyBase1c/odata/standard.odata/Catalog_Организации?$filter=ИНН eq '11111111111111'?$select=Ref_Key В ответ упорно приходят все поля. На ИТС тоже нигде не нашел ни примера, ни упоминания о совместном использовании filter и select. |
|||
17
Cyberhawk
19.06.19
✎
18:14
|
Так найтись-то может больше одной записи
|
|||
18
dinn
19.06.19
✎
18:14
|
(13) "Отдельного пользователя и разруливаешь правами по доступу, прочим в odata не пускаешь." - не работают так права на oData. Да, веб сервером можно рубануть по ip. (14) "Внешнее соединение" - необходимо для обмена БП <-> ЗУП например.
|
|||
19
Cyberhawk
19.06.19
✎
18:17
|
(18) "не работают так права на oData" // Он тебе про то, что опубликовать одату под алиасом, к которому (на веб-сервер) можно обратиться только под одним каким-то пользователем, а не про пользователей ИБ
|
|||
20
Cyberhawk
19.06.19
✎
18:19
|
+(17) Если фильтр по гуиду, то селект работает
|
|||
21
dinn
19.06.19
✎
18:22
|
(19) ок, понятно, Basic аутентификация на 80 порт, тоже вариант, спасибо
|
|||
22
dinn
19.06.19
✎
18:40
|
(11) да и на старых упп нет расширений, так что http сервис сработает только для новых кофигураций.
|
|||
23
Сияющий в темноте
19.06.19
✎
18:58
|
Нет,ну а что вы хотите,если есть право на чтение,то все и прочитает,а если право на чтение не дать,то зачем тогда одата нужен?
можно посмотреть как Rls на одата работает. но,ограничение на чтение полей работают только в формах,где эти поля используются,а в запросах работает ограничение на уровне записей. |
|||
24
RomanYS
19.06.19
✎
19:06
|
(18) для обмена можно создать специального пользователя. Если есть права на внешнее соединение и чтение, то это уже дыра. Независимо от публикации odata
|
|||
25
dinn
19.06.19
✎
21:32
|
(23) Хочу роль у которой можно указать доступ к odata и дать ее одному пользователю ИБ для обменов. Да, в идельном мире RLS тоже должны работать, вдруг другой пользователь может выводить данные но не все, он подключит Excel, Power BI и тд.
|
|||
26
dinn
19.06.19
✎
21:34
|
(24) Дыры нет, запуск внешних обработок отключен. Стандартный обмен настроен в папку с доступом только под пользователем сервера 1С. Пользователь только жмет кнопки, к файлам обмена у него доступа нет.
|
|||
27
Garykom
гуру
19.06.19
✎
22:04
|
Хочешь защиту делаешь свой http-сервис "обертку" или иначе "прокси", который имеет полный доступ к odata 1С на снаружи пускает только кого надо и к тому чему надо.
|
|||
28
Garykom
гуру
19.06.19
✎
22:05
|
(27)+ В смысле на чем угодно вне 1С это делаешь.
Предлагаю делать на Go там это очень просто и компилируется в обычный exe или можно win-службу сделать. |
|||
29
Garykom
гуру
19.06.19
✎
22:07
|
(28)+ Но это можно и средствами apache или nginx попробовать урезать, хотя и гибкости маловато.
|
|||
30
RomanYS
19.06.19
✎
22:34
|
(26) При чём здесь стандартный обмен и запуск обработок? Ну подключится он через COM и сольёт всё что может прочитать.
(25) В чём проблема? В новых типовых право на внешнее соединение выделено в отдельную роль. |
|||
31
dinn
20.06.19
✎
10:41
|
(30) Верно. Проблема только в том, что нельзя ограничить odata отдельно от остальных интерфейсов.
|
|||
32
ptiz
20.06.19
✎
10:46
|
А разве нельзя опубликовать несколько точек входа oData? Каждой точке входа - свои права (свой юзер в vrd-файле). Конечно, набор таких точек входа будет фиксирован, например, по филиалам.
|
|||
33
RomanYS
20.06.19
✎
10:48
|
(31) Так другие внешние интерфейсы ты точно также не можешь ограничить. Поэтому просто не давай права на внешнее соединение пользователем с клиентским доступом. Для внешней интеграции используй специальных служебных пользователей.
|
|||
34
PR
20.06.19
✎
10:54
|
(4) Ты точно здоров?
Что такое "Вывод контрагентов в список" и почему невозможность выполнения этой функции должно вдруг помешать браузеру получить через запрос список контрагентов и вывести тебе полученный результат? Может тебе сначала чуть подразобраться в том, что такое роли 1С и как они работают? |
|||
35
PR
20.06.19
✎
10:57
|
(31) Ты бредишь
Что за чушь ты несешь? |
|||
36
PR
20.06.19
✎
11:02
|
Завтра надо было заводить ветку, поржали бы и с ТС и с собравшихся икспердов :))
|
|||
37
dinn
20.06.19
✎
11:10
|
(34) проходите мимо
|
|||
38
Garykom
гуру
20.06.19
✎
11:51
|
(36) Мы уже с вашей ветки поржали, отойти не можем.
|
|||
39
PR
20.06.19
✎
11:53
|
(38) Отойдешь, не переживай. Попозже. Все мы отойдем. Когда-нибудь.
|
|||
40
RomanYS
20.06.19
✎
12:15
|
(36) Завтра у тебя похоже похмелье будет. Ты не ту ветку апнул))
|
|||
41
dinn
20.06.19
✎
12:27
|
(32) в .vrd файле помоему ничего о пользователях не определяется https://its.1c.ru/db/v837doc#bookmark:adm:TI000000379
|
|||
42
Cyberhawk
20.06.19
✎
13:41
|
(41) В атрибуте "ib" можно указать пользователя ИБ, используемого по умолчанию. Тогда этот опубликованный алиас не будет "запрашивать" аутентификацию и все будет работать строго под этим одним указанным пользователем. Я ж в (19) про это писал.
|
|||
43
Cyberhawk
20.06.19
✎
13:42
|
+(42) По факту делаешь так, чтобы в алиас, где одата открыта, можно было авторизоваться только под одним пользователем ИБ, прописанным в этом алиасе (vrd)
|
|||
44
Cyberhawk
20.06.19
✎
13:43
|
А саму базу (для тонкого / веб-клиента) публикуешь под другим алиасом, где одата закрыта и где никакой пользователь ИБ в атрибуте "ib" не прописан.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |