Использование Gatekeeper для авторизации доступа к HTTP публикации сервера 1С

Публикация № 1538558 22.10.21

Системное администрирование - Информационная безопасность

В статье опишу вариант настройки Keycloack и GoGatekepper для авторизации доступа к HTTP публикации сервера 1С

Вводные

  • Требуется реализовать аутентификацию и авторизацию внешних пользователей при доступе к HTTP сервисам 1С
  • В 1С хранится только ключ связывания пользователя со спр. Партнеры

Вариант реализации

Развернуть сервис аутентификации Keycloack, который выдает access_token в формате JWT по предъявлению login и password 

Поставить перед 1С HTTP публикацией прокси, который проверит JWT токен, при его валидности из него получит данные о правах доступа до конкретного сервиса и при  наличии прав переадресует запрос к публикации.

Схема

 

Настройка Apache

 
 default.vrd

 

В конфигурации добавил

  • HTTP сервис "test_http"
  • роль "ВнешнийПользователь" с правами доступа к ВнешнееСоединение и к HTTP сервису
  • сервисный пользователь с ролью "ВнешнийПользователь"
 
 Скриншот проверки

 

В "/etc/apache2/ports.conf" заменил "Listen 80" на "Listen 127.0.0.1:8080"

 

Запуск GateKeeper

Скачиваю архив с релизом с https://github.com/gogatekeeper/gatekeeper, распаковываю, копирую файл "gatekeeper" в "/usr/bin"

Запускаю сервис с конфигурацией  sudo gatekeeper --config gate_config.yml

 
 gate_config.yml

 

Настраиваю KeyCloak

Создаю realm "onec_token", в нем создаю client "client_token" c типом public

 
 Скриншот настройки

Для GateKeeper обязателен параметр aud, делаю мапинг значений для clients в этот параметр

 
 Скриншот настройки

Источник: https://stackoverflow.com/questions/53550321/keycloak-gatekeeper-aud-claim-and-client-id-do-not-match

В ограничениях присутствуют группы, делаю их мапинг для clients

 
 Скриншот настройки

 

В realm создаю роль "client:test1" и группу "users", создаю пользователя добавляю его в группу и добавляю ему роль.

Изменяю длительность действия access_token с 5 мин до 1 часа, сделал для тестов.

 

Проверка ограничения

Отправляю запрос без аутентификации, получаю 401

 
 Скриншот

 

Запросом к keycloack получаю токен

 
 Скриншот
 
 Текстом

 

Из тела ответа беру значение access_token, добавляю его в bearer аутентификацию основного запроса, повторяю запрос, получаю в ответе идентификатор user.

 
 Скриншот

 

Использую перенаправленные от GateKeeper заголовки авторизации.

 
 Код HTTP сервиса

 

При установке параметра "enable-authorization-header" передается весь токен в заголовок Authorization, но это может конфликтовать с авторизацией на уровне 1С.

 

Итог

За счет внешних сервисов можно организовать безопасный доступ к HTTP публикациям 1С.

Как организовать gatekeeper в качестве сервиса отдельный вопрос. Самое простое через docker. Возможно имеет смысл скомпоновать в один образ gatekeeper с WS компонентой 1С.

Проверку на подделку JWT не делал, тема отдельного блока тестов, думаю в данной реализации работает корректно.

 

Благодарю за внимание.

Специальные предложения

Оставьте свое сообщение

См. также

Подбираем сервер для 1C:ERP Промо

Сервера v8 ERP2 Бесплатно (free)

На Infostart Meetup Ekaterinburg ведущий разработчик 1С в компании ФТО Виталий Онянов рассказал, как подобрать сервер для 1С:ERP и на какие показатели ориентироваться, чтобы оборудование для высоконагруженной системы оправдало вложения.

26.03.2021    17872    Tavalik    74    

НеБезопасный прикладной программный интерфейс сервера

Информационная безопасность v8 Бесплатно (free)

Есть такой стандарт «Безопасность прикладного программного интерфейса сервера». Многие его читали. Кто-то даже понимает то, что там написано. Но, как показывает практика, его мало кто соблюдает. Чем грозит отступление от этого стандарта? В чем опасность общих модулей с признаком «Вызов сервера»? На эти вопросы на митапе «Безопасность в 1С» ответил разработчик рекомендательных систем Владимир Бондаревский.

02.03.2022    2386    bonv    10    

Управление доступом - как быстро доработать RLS (БСП)

БСП (Библиотека стандартных подсистем) Роли и права v8 v8::Права 1cv8.cf Бесплатно (free)

Ранее в своей статье - https://infostart.ru/1c/articles/1535498/, подробно описывал по процессу доработки производительного RLS. Для оперативной доработки RLS может потребоваться значительного времени разбора процесса RLS. Для таких случае 1С в своей поставки БСП разработала удобный помощник для доработки производительного RLS (данная доработка не требует глубокого понимания RLS). Как я увидел, многие не знакомы с данной обработкой, поэтому в данной статье хочу рассказать про данную обработку и её возможности.

31.01.2022    3015    Shining_ninja    4    

Работа с 1С через протокол OData

WEB v8 1cv8.cf Россия Бесплатно (free)

В данной статье мы будем рассматривать работу с данными информационной базы через протокол OData (далее OData).

17.12.2021    8720    ProfessionStore    19    

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

WEB Облачные сервисы, хостинг v8 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    10578    comol    31    

Подключение к HTTP-сервису с авторизацией посредством передачи клиентского SSL-сертификата

WEB v8 Бесплатно (free)

В статье хочу поделиться опытом настройки подключения 1С к стороннему HTTP-сервису, использующему авторизацию посредством передачи клиентского SSL-сертификата.

07.12.2021    4981    kholkin    11    

Web консоль управления сеансами 1С

WEB v8 1cv8.cf Бесплатно (free)

Мы дали ему название adm1c, он позволяет посредством веб доступа удалять или смотреть на сеансы в 1С базах и при необходимости удалять их. Да и что тут такого, сказали бы, есть же консоль на win, с нее же это можно делать, и все верно, но есть пара но.

26.11.2021    2492    4ernuy    15    

Профили управления доступом к объектам в любой конфигурации на БСП

БСП (Библиотека стандартных подсистем) Роли и права v8 1cv8.cf Бесплатно (free)

В данной статье рассмотрим механизмы стандартного управления профилями доступа к объектам в любой типовой конфигурации, в основе которой лежит БСП.

17.11.2021    3298    quazare    3    

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция Промо

WEB v7.7 v8 Бесплатно (free)

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    63475    Serginio    33    

Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С

WEB v8 1cv8.cf Россия Бесплатно (free)

Цель статьи - указать на подводные камни и нюансы, о которых “не пишут на заборах” и которые встретились мне за время внедрения типового модуля интеграции 1С и Битрикс24. Будет интересна для людей, кто подумывает о том, чтобы настроить интеграцию, и хотят понять, с чем столкнутся. А также для тех, кто уже работает с подобным обменом, столкнулся с какими-то из описанных ситуаций и хочет понять, что пошло не так и “как жить дальше”. Постараюсь все описать “человеческим” языком с минимальной долей терминов, так как статья, надеюсь, будет полезна не только программистам.

07.11.2021    4197    freegman74    13    

Окей, Google

WEB v8 Россия Бесплатно (free)

Пример интеграции Google Ассистента с 1С. В основе которого лежит платформа Dialogflow CX для понимания естественного языка.

28.10.2021    1506    Soloist    6    

Повышение производительности веб-сервисов. Переиспользование сеансов

WEB HighLoad оптимизация v8 Бесплатно (free)

Повышение производительности веб-сервисов. Переиспользование сеансов. Практическая реализация.

20.10.2021    2762    sorter1    2    

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    27954    ruha    21    

Обновление платформы 1С тонкого клиента с вебсервера, когда сервер 1С ПРОФ

Администрирование веб-серверов Администрирование СУБД v8 1cv8.cf Бесплатно (free)

Обновление платформы 1С: тонкого клиента с вебсервера описывается на https://its.1c.ru/db/v8316doc#bookmark:adm:TI000001058, но по факту, следуя точно инструкциям вендора с ИТС, никому не удалось добиться результата. Выражаю благодарность Панюшкину Михаилу Михайловичу за разбор задачи и доведение ее до практического результата.

19.10.2021    2921    ser6702    15    

Как доработать производительный RLS

Роли и права v8 1cv8.cf Россия Бесплатно (free)

Неоднократно в последнее время поступали задачи, когда требовалось доработать новый производительный RLS. В своей статье Ретунский Александр, программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт) опишет последовательность действий при доработке нового RLS, ключевые моменты и сложности, с которыми столкнулся. В Интернете статей или инструкций, которые подробно и просто описывают – как доработать производительный RLS, не так много и автор делиться своим опытом. В данной статье не будут описаны различия и плюсы/минусы между стандартным и производительным RLS, в Интернете по этому вопросу есть много информации.

18.10.2021    4050    Shining_ninja    6    

WEB/HTTP сервисы. Базовые отличия и применение на практике

WEB v8 Бесплатно (free)

Рассказываем о WEB и HTTP сервисах, их практическом применении, о шишках, которые мы набили, и о выводах, которые сделали. Спойлер: тех, кто дочитает статью до конца, ждет бонус от автора.

04.10.2021    12263    Neti    16    

Права доступа в 1С:Документооборот 2.1 Промо

Информационная безопасность Документооборот и делопроизводство v8 ДО Бесплатно (free)

В программе 1С:Документооборот ред 2.1 механизм системы прав доступа сильно изменился. С одной стороны, права доступа в данной версии стали проще и быстрее, с другой стороны - права по рабочим группам объектов теперь могут противоречить политикам доступа. Разберемся в данной статье как работает механизм прав доступа в 1с документообороте 2.1.

16.09.2016    93485    vlush78    0    

Интеграция 1С с ГИИС ДМДК

WEB Файловые протоколы обмена (TXT, XML, DBF), FTP v8 ERP2 Ювелирная промышленность и торговля Россия Бесплатно (free)

ГИИС ДМДК - единая информационная платформа для взаимодействия участников рынка драгоценных металлов и драгоценных камней. с 01.09.21 стартовал обязательный обмен данными с Федеральной пробирной палатой (ФПП) исключительно через ГИИС. А постепенно - с 01.01.2022 и с 01.03.2022 - все данные о продаже драгоценных металлов и камней должны быть интегрированы с ГИИС. У многих пользователей возникает вопрос как автоматизировать обмен между программой 1С и ГИИС ДМДК. В настоящей статье ВЦ Раздолье поделится своим опытом о реализации такого обмена. Автор статьи - Мордовин Антон - архитектор систем на базе 1С Внедренческого центра "Раздолье".

30.09.2021    26004    1СERP    154    

Быстрое чтение составных http сообщений multipart/form-data

WEB v8 Бесплатно (free)

Алгоритм быстрого разбора составного http сообщения multipart/form-data.

26.09.2021    2175    cherkasovvitalik    3    

Интеграция 1С с Битрикс24 через вебхуки

WEB v8 1cv8.cf Россия Бесплатно (free)

Пример получения токена и http запрос к API битрикса.

15.09.2021    3956    TyurinArt    8    

Кэширование COM-соединения. Три способа Промо

Внешние источники данных WEB Обмен между базами 1C v8 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    43799    YPermitin    42    

Обмен с HTTP сервисом файлами по формату multipart/form-data

WEB v8 1cv8.cf Россия Бесплатно (free)

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

07.09.2021    5088    ix5s    25    

Разработка гибридного web-приложения на 1С, возможности и ограничения

WEB v8 Бесплатно (free)

Все чаще разработчики склоняются к использованию 1C в качестве бэкенда при разработке веб-приложений. Но благодаря встраиванию веб-клиента 1С в сайт можно получить еще больше готовой функциональности. О том, как реализовать гибридное приложение за счет связки 1С с другими веб-технологиями, рассказал разработчик компании Neti Эльдар Мингалиев.

06.09.2021    3635    Бэнни    11    

Работа с WEB-сервисами под HTTPS на примере прямого обмена между базами (1С – 1С) 

Интеграция и обмен данными WEB v8 Россия Бесплатно (free)

Использование веб-сервисов 1С при обмене 1С – 1С позволяет быстро передавать достаточно большие объемы данных из базы-источника в базу-приемник в объектах языка 1С. Данный метод обмена может применяться при бесшовной интеграции между двумя базами 1С, но требует определенной серверной инфраструктуры (установленного и настроенного WEB-сервера).

03.09.2021    8182    UltraUnion2005    8    

Доработки RLS. Примеры шаблонов. (в т.ч исключения из ограничений) Промо

Информационная безопасность v8 Бесплатно (free)

Допиливаем шаблоны RLS. Даем доступ пользователям к некоторым объектам

19.06.2013    72126    EvilDoc    38    

Взаимодействие с api Честный знак (Молочная продукция)

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Обзор основных примеров взаимодействия с Честным знаком по api для нетиповых конфигураций.

30.08.2021    5376    user5300    57    

Встраивание форм 1С на страницы сайта

WEB v8 1cv8.cf Бесплатно (free)

В платформе 8.3.16 появилась возможность выводить на страницах сайта информацию из веб-клиента 1С так, что пользователь даже не заметит, что работает с платформой. Руководитель компании Айтон Михаил Пинягин на онлайн-митапе «Web-клиенты для 1С» рассказал о том, какие особенности нужно учесть при настройке встраиваемого веб-клиента, и какие возможности он дает.

27.08.2021    4492    mikepin    9    

Ферма ОДИНа или как управлять множеством Серверов 1С: Предприятие из одной точки

Инструменты администратора БД Системное администрирование v8 Бесплатно (free)

У Вас много серверов приложений 1С Предприятие разных версий и их надо мониторить и администрировать. Новое приложение для управления фермой ОДИНа как раз для тебя.

26.08.2021    1467    khorevaa    8    

Заготовка для загрузки файлов по ftp Промо

WEB Обмен между базами 1C v8 1cv8.cf Бесплатно (free)

3 процедуры и 1 макет

03.06.2013    31641    anig99    6    

Гарри Поттер и подкапотное пространство веб-клиента

WEB v8 Бесплатно (free)

При разработке сайтов, интегрированных с 1С через HTTP-сервисы, приходится бороться с кодировками, искать производительные интерфейсные решения и задумываться над безопасностью. В ходе онлайн-митапа «Web-клиенты для 1С» Юрий Лазаренко показал на практике, как работает магия самодельного веб-клиента и как решать проблемы, возникающие при интеграции.

20.08.2021    3558    TitanLuchs    19    

Умная маршрутизация: кейс интеграции с 1С (часть 1)

WEB v8 Бесплатно (free)

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

18.08.2021    4998    greencactus    42    

Настройка сборки данных в Performance Monitor Windows Server. Рецепты от Капитана

Сервера v8 1cv8.cf Бесплатно (free)

Каждый опытный сисадмин знает, что лучший показатель ухудшения быстродействия 1С, это главный бухгалтер, движущийся в сторону ИТ отдела со скоростью, превышающей 1.1 м/с. Но только мудрейшие из них настраивают сбор счетчиков, чтобы эта встреча не застала их врасплох. Об этом и поговорим под катом...

07.05.2021    4701    capitan    21    

Моя война с Adodb.connection "Microsoft.Jet.OLEDB.4.0" на 64-х битных серверных ОС (86х) Промо

Сервера v8 1cv8.cf Бесплатно (free)

На тонком клиенте в управляемом приложении появилась потребность работы с Adodb.Connection. В моем случае это был драйвер "Microsoft.Jet.OLEDB.4.0". В файловом варианте все взлетело без проблем... А вот в серверном начались проблемы. Решениям этих проблем и посвящается данная статья.

20.02.2013    31737    Alexander.Shvets    11    

Настраиваем авторизацию пользователей 1С через Okta

WEB v8 Бесплатно (free)

Чем больше в компании различных конфигураций и сервисов, тем актуальнее становится проблема единой системы авторизации single Sign-On. Его лидером практически безоговорочно считается Okta. Но на просторах интернета очень мало информации про интеграцию 1С с Okta через протокол OpenID Connect. Что ж, настало время восполнить недостающие пробелы и перевернуть эту печальную страницу в вашей истории

30.04.2021    4741    ripreal1    16    

Xubuntu 20.04 для бухгалтера 1С

Linux Администрирование СУБД v8 БП3.0 Россия Бесплатно (free)

В публикации представлен необходимый минимум для настройки Xubuntu 20.04 в качестве рабочего места бухгалтера, ведущего учёт в программе 1С: Бухгалтерия 3.0 файловый вариант. Кроме этого, настроено подключение и других сотрудников через тонкий клиент 1С к опубликованной на веб-сервере базе бухгалтерии.

12.04.2021    6418    compil7    34    

Правила обмена больше не нужны

Внешние источники данных Обмен между базами 1C WEB Файловые протоколы обмена (TXT, XML, DBF), FTP v8 Бесплатно (free)

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    15143    Nikola23    40    

Что может скрываться в модуле обработки? Промо

Информационная безопасность v8 1cv8.cf Россия Бесплатно (free)

Многие из программистов 1С Предприятие при выкладывании своих обработок (например на Инфостарт) закрывают доступ к модулю объектов паролем. Что же они там могут прятать, приведу пару примеров ( http://infostart.ru/projects/3837/ ):

10.04.2009    16390    bestuzhev    84    

Служебные http-сервисы, которые работают даже в заблокированной базе

Администрирование веб-серверов v8 Бесплатно (free)

В этой публикации описывается опыт доступа к служебным http-сервисам в обход установленной блокировки информационной базы.

16.03.2021    4446    ardn    11    

Интеграция с API WB (Wildberries). Создание карточки товара (спецификации)

WEB v8 1cv8.cf ИТ-компания Россия Бесплатно (free)

Опыт интеграции с API WB (Wildberries), опыт создания карточки товара, получение токенов API WB.

18.01.2021    47487    jenyavp    64    

HTML редактор/editor (Wysiwyg) для WebKit 1С (CMS, B2B), альтернатива TinyMCE и стандартному ФорматированныйДокумент

WEB v8 v8::УФ 1cv8.cf Бесплатно (free)

Suneditor - отличная замена HTML редактору TinyMCE (бесплатному), в публикации с открытым кодом подключим его в 1С с WebKit, скачать HTMLeditor обработку можно бесплатно.

28.12.2020    5084    SizovE    25    

Необычно-экономное использование 1С:Предприятие 8 на Asp.Net-хостинге для реализации Интернет-магазина Промо

WEB Анализ и проектирование ИТ-систем v8 1cv8.cf Россия Бесплатно (free)

Статья описывает, как можно сэкономить на реализации Интернет-магазина предприятия, в который данные поступают из 1С:Предприятие 8. Данные размещаются в базе данных MSSql удаленно у хостинг-провайдера. Предлагается практический опыт гармоничной интеграции 1С:Предприятие и Asp.Net через LINQ и прямой доступ к информационной базе 1С. Строится простейшее решение, с одной стороны имеющее веб-интерфейс, а с другой стороны построенное как desktop-приложение. Тем самым достигается эффективность в наполнении веб-сайта контентом. Максимальный эффект достигается, когда Интернет-магазин проектируется «с нуля» с уникальной для предприятия структурой.

12.11.2010    43425    Elisy    13    

Некоторые особенности установки Apache 2.4 для 1С + SSL

Администрирование веб-серверов v8 1cv8.cf Россия Бесплатно (free)

Проблемы, возникшие при установке Apache 2.4, их решение.

30.11.2020    5850    jenyavp    23    

Анализ HTTP API, документирование в OpenAPI и переиспользование в Postman

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу порядок работы с описанием HTTP API на примере подсистемы "Получение обновлений программы" из БСП 3.

02.11.2020    2891    malikov_pro    12    

Отладка модуля ДиадокПро

WEB v8 1cv8.cf Бесплатно (free)

В обработке ДиадокПро все дополнительные модули встроены во внешние обработки, которые хранятся в макетах. Это усложняет процесс самостоятельной интеграции, так как теряется возможность попасть в них в режиме отладки. Но не всё так страшно, поэтому ниже инструкция)

30.10.2020    6310    Максим-777    25    

Обмен с сайтом посредством Post-запроса, json

WEB v8 1cv8.cf Бесплатно (free)

Задача - передавать на сайт объекты с наименованием и уникальным идентификатором (УИ), которые изменяются в 1С. Также нужно сохранять историю отправленных пакетов.

29.10.2020    6840    John_d    26    

Настраиваем PWA приложение на платформе 8.3.18 с бесплатным действительным сертификатом SSL

Администрирование веб-серверов v8 1cv8.cf Бесплатно (free)

Вышла платформа 8.3.18 с поддержкой PWA приложений. Получаем БЕСПЛАТНЫЙ действительный сертификат SSL. Настраиваем прогрессивное веб приложение для опубликованной бухгалтерии 3.0 на IIS сервере.

18.10.2020    7956    IamAlexy    33    

Отладка http сервиса

WEB v8 Бесплатно (free)

При разработке http сервиса возникает ситуация, а как протестировать http сервис? Создали мы сервис, настроили шаблоны, передали, если нужно параметры, открываем браузер заполняем строку подключения и БАХ, ошибка. Что делать?

23.09.2020    8623    hpi    13    

Учимся создавать http сервисы (часть вторая). Передача параметра в http сервис

WEB v8 1cv8.cf Бесплатно (free)

Пошаговое руководство по созданию http-сервиса (часть вторая). Передача параметра в http сервис.

22.09.2020    11166    hpi    10    

Учимся создавать http-сервисы (часть первая)

WEB v8 1cv8.cf Бесплатно (free)

Пошаговое руководство по созданию http-сервиса.

16.09.2020    23482    hpi    39